aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPraneeth Bajjuri2021-01-05 14:37:55 -0600
committerPraneeth Bajjuri2021-01-05 14:37:55 -0600
commit2526428b5dc72655b1da2a2dfc8b90db08a61b26 (patch)
tree66f0f528ce70637c75f541fb580027af85a79727
parent3fd7fd045532afba76bed354a442cf0a7793a02c (diff)
parenta34582feccd08890467f7d5a9009e332a912217f (diff)
downloadkernel-android-feature-ti-linux-5.10.y.tar.gz
kernel-android-feature-ti-linux-5.10.y.tar.xz
kernel-android-feature-ti-linux-5.10.y.zip
Merge branch 'android12-5.10' of https://android.googlesource.com/kernel/common into android-feature-ti-linux-5.10.yandroid-feature-ti-linux-5.10.y
* 'android12-5.10' of https://android.googlesource.com/kernel/common: (1848 commits) ANDROID: rwsem: Export rwsem_waiter struct for loadable modules ANDROID: vendor_hook: modify cpuidle vendor hook ANDROID: abi_gki_aarch64_db845c: Update for the DMABUF_HEAPS_SYSTEM change ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect() ANDROID: usb: f_accessory: Avoid bitfields for shared variables ANDROID: usb: f_accessory: Cancel any pending work before teardown ANDROID: usb: f_accessory: Don't corrupt global state on double registration ANDROID: usb: f_accessory: Fix teardown ordering in acc_release() ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev' ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors ANDROID: usb: f_accessory: Remove useless assignment ANDROID: usb: f_accessory: Remove useless non-debug prints ANDROID: usb: f_accessory: Remove stale comments ANDROID: USB: gadget: f_fs.c: Fix merge issue ANDROID: crypto: keysetup: use FSCRYPT_MODE_MAX instead of __FSCRYPT_MODE_MAX ANDROID: dma-buf: heap: export dma_heap_put ANDROID: percpu: Export per_cpu_ptr_to_phys for loadable modules ANDROID: printk: Export symbols for loadable modules ANDROID: cpuhp/pause: add trace points for pause and resume ANDROID: usb: gadget: f_accessory: fix CTS test stuck ... Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
-rw-r--r--.gitignore1
-rw-r--r--Documentation/ABI/testing/sysfs-class-typec142
-rw-r--r--Documentation/ABI/testing/sysfs-fs-f2fs7
-rw-r--r--Documentation/ABI/testing/sysfs-kernel-ion27
-rw-r--r--Documentation/ABI/testing/sysfs-kernel-wakeup_reasons16
-rw-r--r--Documentation/admin-guide/kernel-parameters.txt4
-rw-r--r--Documentation/admin-guide/sysctl/vm.rst16
-rw-r--r--Documentation/device-mapper/dm-bow.txt99
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt13
-rw-r--r--Documentation/devicetree/bindings/iommu/arm,smmu.yaml9
-rw-r--r--Documentation/devicetree/bindings/usb/maxim,max33359.yaml75
-rw-r--r--Documentation/filesystems/ext4/directory.rst27
-rw-r--r--Documentation/filesystems/f2fs.rst36
-rw-r--r--Documentation/filesystems/locking.rst2
-rw-r--r--Documentation/filesystems/overlayfs.rst23
-rw-r--r--Documentation/filesystems/proc.rst6
-rw-r--r--Documentation/kbuild/modules.rst16
-rw-r--r--Documentation/scheduler/sched-energy.rst2
-rw-r--r--MAINTAINERS13
-rw-r--r--Makefile140
-rw-r--r--README.md150
-rw-r--r--android/abi_gki_aarch644
-rw-r--r--android/abi_gki_aarch64_cuttlefish921
-rw-r--r--android/abi_gki_aarch64_db845c1729
-rw-r--r--android/gki_aarch64_modules0
-rw-r--r--arch/Kconfig90
-rw-r--r--arch/arm/include/asm/Kbuild1
-rw-r--r--arch/arm/include/asm/seccomp.h11
-rw-r--r--arch/arm/include/asm/system_misc.h1
-rw-r--r--arch/arm/include/uapi/asm/setup.h2
-rw-r--r--arch/arm/kernel/reboot.c6
-rw-r--r--arch/arm/kernel/setup.c20
-rw-r--r--arch/arm/kernel/smp.c4
-rw-r--r--arch/arm/mach-prima2/rstc.c11
-rw-r--r--arch/arm/xen/enlighten.c12
-rw-r--r--arch/arm64/Kconfig37
-rw-r--r--arch/arm64/configs/db845c_gki.fragment273
-rw-r--r--arch/arm64/configs/gki_defconfig603
-rw-r--r--arch/arm64/configs/rockpi4_defconfig542
-rw-r--r--arch/arm64/include/asm/cpu.h2
-rw-r--r--arch/arm64/include/asm/cpufeature.h12
-rw-r--r--arch/arm64/include/asm/processor.h3
-rw-r--r--arch/arm64/include/asm/seccomp.h9
-rw-r--r--arch/arm64/include/asm/system_misc.h2
-rw-r--r--arch/arm64/include/asm/thread_info.h6
-rw-r--r--arch/arm64/kernel/cpufeature.c74
-rw-r--r--arch/arm64/kernel/cpuinfo.c71
-rw-r--r--arch/arm64/kernel/debug-monitors.c4
-rw-r--r--arch/arm64/kernel/process.c33
-rw-r--r--arch/arm64/kernel/signal.c39
-rw-r--r--arch/arm64/kernel/smp.c62
-rw-r--r--arch/arm64/kernel/stacktrace.c1
-rw-r--r--arch/arm64/kernel/vdso/Makefile3
-rw-r--r--arch/arm64/kvm/guest.c2
-rw-r--r--arch/arm64/kvm/sys_regs.c13
-rw-r--r--arch/arm64/mm/init.c13
-rw-r--r--arch/arm64/mm/mmu.c7
-rw-r--r--arch/csky/include/asm/Kbuild1
-rw-r--r--arch/csky/include/asm/seccomp.h11
-rw-r--r--arch/parisc/include/asm/Kbuild1
-rw-r--r--arch/parisc/include/asm/seccomp.h22
-rw-r--r--arch/powerpc/include/asm/seccomp.h23
-rw-r--r--arch/riscv/include/asm/seccomp.h10
-rw-r--r--arch/s390/include/asm/seccomp.h9
-rw-r--r--arch/sh/include/asm/seccomp.h10
-rw-r--r--arch/um/kernel/irq.c2
-rw-r--r--arch/x86/Kconfig3
-rw-r--r--arch/x86/Makefile5
-rw-r--r--arch/x86/configs/gki_defconfig539
-rw-r--r--arch/x86/entry/calling.h4
-rw-r--r--arch/x86/entry/vdso/Makefile3
-rw-r--r--arch/x86/include/asm/seccomp.h20
-rw-r--r--arch/x86/power/cpu.c13
-rw-r--r--arch/xtensa/include/asm/Kbuild1
-rw-r--r--arch/xtensa/include/asm/seccomp.h11
-rw-r--r--block/Kconfig2
-rw-r--r--block/blk-crypto-fallback.c3
-rw-r--r--block/blk-crypto.c44
-rw-r--r--block/blk-mq-virtio.c3
-rw-r--r--block/ioprio.c2
-rw-r--r--block/keyslot-manager.c122
-rw-r--r--build.config.aarch6416
-rw-r--r--build.config.allmodconfig17
-rw-r--r--build.config.allmodconfig.aarch644
-rw-r--r--build.config.allmodconfig.arm4
-rw-r--r--build.config.allmodconfig.x86_644
-rw-r--r--build.config.arm15
-rw-r--r--build.config.common15
-rw-r--r--build.config.db845c20
-rw-r--r--build.config.gki3
-rw-r--r--build.config.gki-debug.aarch643
-rw-r--r--build.config.gki-debug.x86_643
-rw-r--r--build.config.gki.aarch6413
-rw-r--r--build.config.gki.x86_644
-rw-r--r--build.config.gki_kasan23
-rw-r--r--build.config.gki_kasan.aarch643
-rw-r--r--build.config.gki_kasan.x86_644
-rw-r--r--build.config.x86_6416
-rw-r--r--drivers/android/Kconfig9
-rw-r--r--drivers/android/Makefile1
-rw-r--r--drivers/android/binder.c269
-rw-r--r--drivers/android/binder_trace.h24
-rw-r--r--drivers/android/vendor_hooks.c117
-rw-r--r--drivers/base/arch_topology.c7
-rw-r--r--drivers/base/core.c2
-rw-r--r--drivers/base/power/domain.c110
-rw-r--r--drivers/base/power/domain_governor.c102
-rw-r--r--drivers/base/power/main.c11
-rw-r--r--drivers/base/power/qos.c1
-rw-r--r--drivers/base/power/wakeup.c51
-rw-r--r--drivers/base/syscore.c5
-rw-r--r--drivers/block/virtio_blk.c6
-rw-r--r--drivers/char/misc.c2
-rw-r--r--drivers/clk/clk-composite.c1
-rw-r--r--drivers/clk/clk.c85
-rw-r--r--drivers/clk/qcom/dispcc-sdm845.c2
-rw-r--r--drivers/clk/qcom/gcc-msm8998.c1
-rw-r--r--drivers/clk/qcom/gcc-sdm845.c1
-rw-r--r--drivers/clk/qcom/gpucc-sdm845.c1
-rw-r--r--drivers/clk/qcom/videocc-sdm845.c1
-rw-r--r--drivers/clk/versatile/Kconfig2
-rw-r--r--drivers/clocksource/Kconfig2
-rw-r--r--drivers/clocksource/sh_cmt.c8
-rw-r--r--drivers/clocksource/sh_mtu2.c4
-rw-r--r--drivers/clocksource/sh_tmu.c8
-rw-r--r--drivers/cpufreq/Kconfig16
-rw-r--r--drivers/cpufreq/Makefile7
-rw-r--r--drivers/cpufreq/cpufreq.c14
-rw-r--r--drivers/cpufreq/cpufreq_times.c211
-rw-r--r--drivers/cpufreq/dummy-cpufreq.c60
-rw-r--r--drivers/cpufreq/freq_table.c2
-rw-r--r--drivers/cpuidle/cpuidle-psci-domain.c2
-rw-r--r--drivers/cpuidle/cpuidle-psci.c34
-rw-r--r--drivers/cpuidle/cpuidle.c3
-rw-r--r--drivers/cpuidle/governor.c2
-rw-r--r--drivers/dma-buf/dma-buf.c65
-rw-r--r--drivers/dma-buf/dma-heap.c154
-rw-r--r--drivers/dma-buf/heaps/Kconfig4
-rw-r--r--drivers/dma-buf/heaps/Makefile1
-rw-r--r--drivers/dma-buf/heaps/cma_heap.c337
-rw-r--r--drivers/dma-buf/heaps/heap-helpers.c270
-rw-r--r--drivers/dma-buf/heaps/heap-helpers.h53
-rw-r--r--drivers/dma-buf/heaps/system_heap.c501
-rw-r--r--drivers/firmware/Kconfig2
-rw-r--r--drivers/firmware/Makefile3
-rw-r--r--drivers/firmware/efi/libstub/Makefile2
-rw-r--r--drivers/firmware/psci/psci.c12
-rw-r--r--drivers/firmware/qcom_scm.c4
-rw-r--r--drivers/gnss/Kconfig15
-rw-r--r--drivers/gnss/Makefile3
-rw-r--r--drivers/gnss/cmdline.c139
-rw-r--r--drivers/gpu/drm/drm_ioctl.c6
-rw-r--r--drivers/gpu/drm/drm_mipi_dsi.c1
-rw-r--r--drivers/gpu/drm/drm_modes.c2
-rw-r--r--drivers/gpu/drm/drm_prime.c23
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_display.c5
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_plane.c48
-rw-r--r--drivers/hid/Kconfig11
-rw-r--r--drivers/hid/Makefile1
-rw-r--r--drivers/hid/hid-ids.h3
-rw-r--r--drivers/hid/hid-nintendo.c820
-rw-r--r--drivers/iommu/Kconfig32
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu-impl.c3
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c190
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu.c13
-rw-r--r--drivers/iommu/arm/arm-smmu/arm-smmu.h3
-rw-r--r--drivers/iommu/dma-iommu.c46
-rw-r--r--drivers/iommu/iova.c140
-rw-r--r--drivers/irqchip/Kconfig3
-rw-r--r--drivers/irqchip/irq-gic-v3.c37
-rw-r--r--drivers/irqchip/qcom-pdc.c120
-rw-r--r--drivers/md/Kconfig58
-rw-r--r--drivers/md/Makefile7
-rw-r--r--drivers/md/dm-bow.c1297
-rw-r--r--drivers/md/dm-core.h4
-rw-r--r--drivers/md/dm-default-key.c427
-rw-r--r--drivers/md/dm-linear.c1
-rw-r--r--drivers/md/dm-table.c52
-rw-r--r--drivers/md/dm-user.c1141
-rw-r--r--drivers/md/dm-verity-avb.c229
-rw-r--r--drivers/md/dm-verity-target.c6
-rw-r--r--drivers/md/dm-verity.h2
-rw-r--r--drivers/md/dm.c165
-rw-r--r--drivers/media/Kconfig21
-rw-r--r--drivers/media/v4l2-core/v4l2-compat-ioctl32.c13
-rw-r--r--drivers/misc/Kconfig15
-rw-r--r--drivers/misc/Makefile1
-rw-r--r--drivers/misc/lkdtm/Makefile1
-rw-r--r--drivers/misc/uid_sys_stats.c706
-rw-r--r--drivers/mmc/core/host.c6
-rw-r--r--drivers/net/virtio_net.c3
-rw-r--r--drivers/net/wireless/mac80211_hwsim.c6
-rw-r--r--drivers/net/wireless/virt_wifi.c48
-rw-r--r--drivers/of/fdt.c74
-rw-r--r--drivers/pci/controller/dwc/pcie-designware-host.c1
-rw-r--r--drivers/pinctrl/qcom/Kconfig24
-rw-r--r--drivers/pinctrl/qcom/pinctrl-msm.c3
-rw-r--r--drivers/platform/chrome/cros_ec_typec.c3
-rw-r--r--drivers/power/supply/power_supply_core.c78
-rw-r--r--drivers/power/supply/power_supply_sysfs.c1
-rw-r--r--drivers/pwm/core.c1
-rw-r--r--drivers/pwm/sysfs.c25
-rw-r--r--drivers/rpmsg/rpmsg_core.c40
-rw-r--r--drivers/rpmsg/rpmsg_internal.h5
-rw-r--r--drivers/scsi/ufs/ufs-qcom.c12
-rw-r--r--drivers/scsi/ufs/ufs-sysfs.c16
-rw-r--r--drivers/scsi/ufs/ufs-sysfs.h2
-rw-r--r--drivers/scsi/ufs/ufshcd-crypto.c17
-rw-r--r--drivers/scsi/ufs/ufshcd-crypto.h16
-rw-r--r--drivers/scsi/ufs/ufshcd.c312
-rw-r--r--drivers/scsi/ufs/ufshcd.h102
-rw-r--r--drivers/scsi/ufs/ufshci.h12
-rw-r--r--drivers/soc/qcom/Kconfig5
-rw-r--r--drivers/soc/qcom/cmd-db.c8
-rw-r--r--drivers/soc/qcom/rpmh-rsc.c8
-rw-r--r--drivers/spi/spi.c1
-rw-r--r--drivers/staging/android/ion/Kconfig15
-rw-r--r--drivers/staging/android/ion/Makefile6
-rw-r--r--drivers/staging/android/ion/heaps/Kconfig15
-rw-r--r--drivers/staging/android/ion/heaps/Makefile5
-rw-r--r--drivers/staging/android/ion/heaps/ion_cma_heap.c (renamed from drivers/staging/android/ion/ion_cma_heap.c)65
-rw-r--r--drivers/staging/android/ion/heaps/ion_page_pool.c (renamed from drivers/staging/android/ion/ion_page_pool.c)19
-rw-r--r--drivers/staging/android/ion/heaps/ion_page_pool.h67
-rw-r--r--drivers/staging/android/ion/heaps/ion_system_heap.c (renamed from drivers/staging/android/ion/ion_system_heap.c)173
-rw-r--r--drivers/staging/android/ion/ion.c590
-rw-r--r--drivers/staging/android/ion/ion_buffer.c278
-rw-r--r--drivers/staging/android/ion/ion_dma_buf.c359
-rw-r--r--drivers/staging/android/ion/ion_heap.c323
-rw-r--r--drivers/staging/android/ion/ion_private.h58
-rw-r--r--drivers/staging/android/ion/ion_trace.h55
-rw-r--r--drivers/thermal/thermal_core.c1
-rw-r--r--drivers/thermal/thermal_core.h2
-rw-r--r--drivers/tty/hvc/Kconfig21
-rw-r--r--drivers/tty/hvc/hvc_console.h2
-rw-r--r--drivers/tty/hvc/hvc_dcc.c171
-rw-r--r--drivers/tty/serdev/core.c83
-rw-r--r--drivers/tty/serdev/serdev-ttyport.c30
-rw-r--r--drivers/tty/serial/Kconfig9
-rw-r--r--drivers/tty/serial/Makefile1
-rw-r--r--drivers/tty/serial/msm_geni_serial_earlycon.c354
-rw-r--r--drivers/tty/sysrq.c4
-rw-r--r--drivers/usb/gadget/Kconfig31
-rw-r--r--drivers/usb/gadget/configfs.c273
-rw-r--r--drivers/usb/gadget/function/Makefile4
-rw-r--r--drivers/usb/gadget/function/f_accessory.c1532
-rw-r--r--drivers/usb/gadget/function/f_audio_source.c1071
-rw-r--r--drivers/usb/gadget/function/f_fs.c4
-rw-r--r--drivers/usb/gadget/function/f_midi.c66
-rw-r--r--drivers/usb/typec/class.c298
-rw-r--r--drivers/usb/typec/mux/intel_pmc_mux.c17
-rw-r--r--drivers/usb/typec/tcpm/fusb302.c16
-rw-r--r--drivers/usb/typec/tcpm/tcpci.c123
-rw-r--r--drivers/usb/typec/tcpm/tcpci.h25
-rw-r--r--drivers/usb/typec/tcpm/tcpci_maxim.c51
-rw-r--r--drivers/usb/typec/tcpm/tcpm.c302
-rw-r--r--drivers/usb/typec/tcpm/wcove.c3
-rw-r--r--drivers/usb/typec/ucsi/ucsi.c125
-rw-r--r--drivers/usb/typec/ucsi/ucsi.h2
-rw-r--r--drivers/usb/typec/ucsi/ucsi_acpi.c5
-rw-r--r--drivers/virtio/Kconfig2
-rw-r--r--drivers/virtio/virtio_input.c10
-rw-r--r--fs/9p/acl.c3
-rw-r--r--fs/9p/xattr.c3
-rw-r--r--fs/Kconfig1
-rw-r--r--fs/Makefile1
-rw-r--r--fs/afs/xattr.c10
-rw-r--r--fs/btrfs/xattr.c3
-rw-r--r--fs/ceph/xattr.c3
-rw-r--r--fs/cifs/xattr.c2
-rw-r--r--fs/crypto/crypto.c8
-rw-r--r--fs/crypto/fname.c4
-rw-r--r--fs/crypto/fscrypt_private.h45
-rw-r--r--fs/crypto/hooks.c1
-rw-r--r--fs/crypto/inline_crypt.c114
-rw-r--r--fs/crypto/keyring.c50
-rw-r--r--fs/crypto/keysetup.c91
-rw-r--r--fs/crypto/keysetup_v1.c3
-rw-r--r--fs/direct-io.c15
-rw-r--r--fs/ecryptfs/inode.c6
-rw-r--r--fs/ecryptfs/mmap.c2
-rw-r--r--fs/erofs/xattr.c3
-rw-r--r--fs/eventpoll.c5
-rw-r--r--fs/ext2/xattr_security.c2
-rw-r--r--fs/ext2/xattr_trusted.c2
-rw-r--r--fs/ext2/xattr_user.c2
-rw-r--r--fs/ext4/dir.c53
-rw-r--r--fs/ext4/ext4.h83
-rw-r--r--fs/ext4/file.c10
-rw-r--r--fs/ext4/hash.c25
-rw-r--r--fs/ext4/ialloc.c5
-rw-r--r--fs/ext4/inline.c55
-rw-r--r--fs/ext4/inode.c24
-rw-r--r--fs/ext4/namei.c330
-rw-r--r--fs/ext4/readpage.c47
-rw-r--r--fs/ext4/super.c11
-rw-r--r--fs/ext4/xattr_hurd.c3
-rw-r--r--fs/ext4/xattr_security.c2
-rw-r--r--fs/ext4/xattr_trusted.c2
-rw-r--r--fs/ext4/xattr_user.c2
-rw-r--r--fs/f2fs/acl.c2
-rw-r--r--fs/f2fs/checkpoint.c39
-rw-r--r--fs/f2fs/compress.c26
-rw-r--r--fs/f2fs/compress.h0
-rw-r--r--fs/f2fs/data.c259
-rw-r--r--fs/f2fs/debug.c11
-rw-r--r--fs/f2fs/dir.c105
-rw-r--r--fs/f2fs/f2fs.h187
-rw-r--r--fs/f2fs/file.c411
-rw-r--r--fs/f2fs/gc.c4
-rw-r--r--fs/f2fs/hash.c11
-rw-r--r--fs/f2fs/inline.c29
-rw-r--r--fs/f2fs/inode.c3
-rw-r--r--fs/f2fs/namei.c1
-rw-r--r--fs/f2fs/node.c39
-rw-r--r--fs/f2fs/node.h4
-rw-r--r--fs/f2fs/recovery.c16
-rw-r--r--fs/f2fs/segment.c49
-rw-r--r--fs/f2fs/shrinker.c4
-rw-r--r--fs/f2fs/super.c69
-rw-r--r--fs/f2fs/sysfs.c5
-rw-r--r--fs/f2fs/xattr.c4
-rw-r--r--fs/fuse/Makefile1
-rw-r--r--fs/fuse/dev.c49
-rw-r--r--fs/fuse/dir.c42
-rw-r--r--fs/fuse/file.c12
-rw-r--r--fs/fuse/fuse_i.h36
-rw-r--r--fs/fuse/inode.c23
-rw-r--r--fs/fuse/passthrough.c245
-rw-r--r--fs/fuse/xattr.c4
-rw-r--r--fs/gfs2/xattr.c3
-rw-r--r--fs/hfs/attr.c2
-rw-r--r--fs/hfsplus/xattr.c3
-rw-r--r--fs/hfsplus/xattr_security.c3
-rw-r--r--fs/hfsplus/xattr_trusted.c3
-rw-r--r--fs/hfsplus/xattr_user.c3
-rw-r--r--fs/incfs/Kconfig13
-rw-r--r--fs/incfs/Makefile10
-rw-r--r--fs/incfs/data_mgmt.c1682
-rw-r--r--fs/incfs/data_mgmt.h454
-rw-r--r--fs/incfs/format.c701
-rw-r--r--fs/incfs/format.h365
-rw-r--r--fs/incfs/integrity.c235
-rw-r--r--fs/incfs/integrity.h56
-rw-r--r--fs/incfs/internal.h21
-rw-r--r--fs/incfs/main.c116
-rw-r--r--fs/incfs/pseudo_files.c1280
-rw-r--r--fs/incfs/pseudo_files.h15
-rw-r--r--fs/incfs/vfs.c1674
-rw-r--r--fs/incfs/vfs.h33
-rw-r--r--fs/iomap/direct-io.c8
-rw-r--r--fs/jffs2/security.c3
-rw-r--r--fs/jffs2/xattr_trusted.c3
-rw-r--r--fs/jffs2/xattr_user.c3
-rw-r--r--fs/jfs/xattr.c5
-rw-r--r--fs/kernfs/inode.c3
-rw-r--r--fs/libfs.c70
-rw-r--r--fs/mpage.c36
-rw-r--r--fs/namei.c90
-rw-r--r--fs/nfs/nfs4proc.c9
-rw-r--r--fs/notify/inotify/inotify_user.c16
-rw-r--r--fs/ocfs2/xattr.c9
-rw-r--r--fs/orangefs/xattr.c3
-rw-r--r--fs/overlayfs/copy_up.c2
-rw-r--r--fs/overlayfs/dir.c17
-rw-r--r--fs/overlayfs/file.c25
-rw-r--r--fs/overlayfs/inode.c23
-rw-r--r--fs/overlayfs/namei.c13
-rw-r--r--fs/overlayfs/overlayfs.h7
-rw-r--r--fs/overlayfs/ovl_entry.h1
-rw-r--r--fs/overlayfs/readdir.c8
-rw-r--r--fs/overlayfs/super.c34
-rw-r--r--fs/overlayfs/util.c20
-rw-r--r--fs/posix_acl.c2
-rw-r--r--fs/proc/base.c7
-rw-r--r--fs/proc/task_mmu.c64
-rw-r--r--fs/reiserfs/xattr_security.c3
-rw-r--r--fs/reiserfs/xattr_trusted.c3
-rw-r--r--fs/reiserfs/xattr_user.c3
-rw-r--r--fs/squashfs/xattr.c2
-rw-r--r--fs/sync.c3
-rw-r--r--fs/ubifs/dir.c1
-rw-r--r--fs/ubifs/xattr.c3
-rw-r--r--fs/userfaultfd.c9
-rw-r--r--fs/xattr.c36
-rw-r--r--fs/xfs/xfs_xattr.c3
-rw-r--r--include/asm-generic/vmlinux.lds.h11
-rw-r--r--include/drm/drm_drv.h10
-rw-r--r--include/drm/drm_mipi_dsi.h12
-rw-r--r--include/drm/drm_mode_object.h2
-rw-r--r--include/drm/drm_prime.h1
-rw-r--r--include/linux/android_vendor.h32
-rw-r--r--include/linux/arch_topology.h3
-rw-r--r--include/linux/blk-crypto.h47
-rw-r--r--include/linux/blk_types.h3
-rw-r--r--include/linux/clk-provider.h15
-rw-r--r--include/linux/cpu.h4
-rw-r--r--include/linux/cpufreq.h8
-rw-r--r--include/linux/cpufreq_times.h42
-rw-r--r--include/linux/cpuset.h9
-rw-r--r--include/linux/dcache.h1
-rw-r--r--include/linux/device-mapper.h6
-rw-r--r--include/linux/dma-buf.h98
-rw-r--r--include/linux/dma-heap.h60
-rw-r--r--include/linux/dma-iommu.h16
-rw-r--r--include/linux/export.h2
-rw-r--r--include/linux/f2fs_fs.h2
-rw-r--r--include/linux/fs.h1
-rw-r--r--include/linux/fscrypt.h40
-rw-r--r--include/linux/gfp.h26
-rw-r--r--include/linux/highmem.h4
-rw-r--r--include/linux/init.h79
-rw-r--r--include/linux/interrupt.h7
-rw-r--r--include/linux/ion.h (renamed from drivers/staging/android/ion/ion.h)291
-rw-r--r--include/linux/iova.h7
-rw-r--r--include/linux/ipv6.h1
-rw-r--r--include/linux/keyslot-manager.h36
-rw-r--r--include/linux/lsm_audit.h2
-rw-r--r--include/linux/mm.h11
-rw-r--r--include/linux/mm_types.h24
-rw-r--r--include/linux/mmc/pm.h1
-rw-r--r--include/linux/mmzone.h8
-rw-r--r--include/linux/module.h8
-rw-r--r--include/linux/netfilter/xt_quota2.h26
-rw-r--r--include/linux/of_fdt.h21
-rw-r--r--include/linux/pagemap.h18
-rw-r--r--include/linux/pci.h19
-rw-r--r--include/linux/pci_ids.h2
-rw-r--r--include/linux/pm_domain.h45
-rw-r--r--include/linux/power_supply.h15
-rw-r--r--include/linux/pwm.h48
-rw-r--r--include/linux/rpmsg.h27
-rw-r--r--include/linux/rwsem.h15
-rw-r--r--include/linux/sched.h21
-rw-r--r--include/linux/sched/hotplug.h4
-rw-r--r--include/linux/sched/topology.h3
-rw-r--r--include/linux/sched/wake_q.h2
-rw-r--r--include/linux/sched/xacct.h9
-rw-r--r--include/linux/security.h2
-rw-r--r--include/linux/serdev.h14
-rw-r--r--include/linux/stop_machine.h14
-rw-r--r--include/linux/suspend.h1
-rw-r--r--include/linux/task_io_accounting.h2
-rw-r--r--include/linux/task_io_accounting_ops.h1
-rw-r--r--include/linux/thermal.h5
-rw-r--r--include/linux/usb/composite.h1
-rw-r--r--include/linux/usb/f_accessory.h23
-rw-r--r--include/linux/usb/pd.h2
-rw-r--r--include/linux/usb/pd_vdo.h15
-rw-r--r--include/linux/usb/tcpm.h43
-rw-r--r--include/linux/usb/typec.h2
-rw-r--r--include/linux/usb/typec_tbt.h6
-rw-r--r--include/linux/wakeup_reason.h37
-rw-r--r--include/linux/xattr.h9
-rw-r--r--include/media/videobuf2-core.h2
-rw-r--r--include/net/addrconf.h12
-rw-r--r--include/net/virt_wifi.h25
-rw-r--r--include/net/xfrm.h2
-rw-r--r--include/sound/soc.h15
-rw-r--r--include/trace/events/android_fs.h66
-rw-r--r--include/trace/events/android_fs_template.h64
-rw-r--r--include/trace/events/cpuhp.h22
-rw-r--r--include/trace/events/f2fs.h1
-rw-r--r--include/trace/events/irq.h45
-rw-r--r--include/trace/events/namei.h42
-rw-r--r--include/trace/events/sched.h24
-rw-r--r--include/trace/events/ufs.h21
-rw-r--r--include/trace/hooks/binder.h37
-rw-r--r--include/trace/hooks/cpufreq.h32
-rw-r--r--include/trace/hooks/cpuidle.h30
-rw-r--r--include/trace/hooks/debug.h26
-rw-r--r--include/trace/hooks/dtask.h53
-rw-r--r--include/trace/hooks/epoch.h31
-rw-r--r--include/trace/hooks/fpsimd.h26
-rw-r--r--include/trace/hooks/futex.h26
-rw-r--r--include/trace/hooks/gic.h29
-rw-r--r--include/trace/hooks/gic_v3.h29
-rw-r--r--include/trace/hooks/mm.h38
-rw-r--r--include/trace/hooks/mpam.h24
-rw-r--r--include/trace/hooks/preemptirq.h43
-rw-r--r--include/trace/hooks/printk.h27
-rw-r--r--include/trace/hooks/rwsem.h38
-rw-r--r--include/trace/hooks/sched.h249
-rw-r--r--include/trace/hooks/sysrqcrash.h24
-rw-r--r--include/trace/hooks/topology.h29
-rw-r--r--include/trace/hooks/vendor_hooks.h104
-rw-r--r--include/trace/hooks/wqlockup.h24
-rw-r--r--include/uapi/linux/android/binder.h50
-rw-r--r--include/uapi/linux/capability.h2
-rw-r--r--include/uapi/linux/dm-user.h68
-rw-r--r--include/uapi/linux/f2fs.h98
-rw-r--r--include/uapi/linux/fscrypt.h5
-rw-r--r--include/uapi/linux/fuse.h14
-rw-r--r--include/uapi/linux/incrementalfs.h550
-rw-r--r--include/uapi/linux/ion.h (renamed from drivers/staging/android/uapi/ion.h)65
-rw-r--r--include/uapi/linux/netfilter/xt_IDLETIMER.h9
-rw-r--r--include/uapi/linux/prctl.h3
-rw-r--r--include/uapi/linux/usb/f_accessory.h146
-rw-r--r--include/uapi/linux/videodev2.h7
-rw-r--r--include/uapi/linux/xattr.h7
-rw-r--r--init/Kconfig14
-rw-r--r--init/Kconfig.gki217
-rw-r--r--kernel/cgroup/cgroup-v1.c3
-rw-r--r--kernel/cgroup/cgroup.c3
-rw-r--r--kernel/cgroup/cpuset.c151
-rw-r--r--kernel/cpu.c267
-rw-r--r--kernel/dma/contiguous.c1
-rw-r--r--kernel/dma/direct.c3
-rw-r--r--kernel/dma/ops_helpers.c2
-rw-r--r--kernel/events/core.c1
-rw-r--r--kernel/fork.c7
-rw-r--r--kernel/futex.c6
-rw-r--r--kernel/irq/chip.c17
-rw-r--r--kernel/irq/cpuhotplug.c4
-rw-r--r--kernel/irq_work.c2
-rw-r--r--kernel/kthread.c1
-rw-r--r--kernel/locking/mutex.c5
-rw-r--r--kernel/locking/rwsem.c39
-rw-r--r--kernel/pid.c1
-rw-r--r--kernel/power/Makefile1
-rw-r--r--kernel/power/process.c13
-rw-r--r--kernel/power/suspend.c19
-rw-r--r--kernel/power/wakeup_reason.c438
-rw-r--r--kernel/printk/printk.c11
-rw-r--r--kernel/reboot.c2
-rw-r--r--kernel/sched/core.c279
-rw-r--r--kernel/sched/cpufreq_schedutil.c41
-rw-r--r--kernel/sched/cpupri.c59
-rw-r--r--kernel/sched/cputime.c14
-rw-r--r--kernel/sched/debug.c1
-rw-r--r--kernel/sched/fair.c124
-rw-r--r--kernel/sched/loadavg.c1
-rw-r--r--kernel/sched/pelt.c1
-rw-r--r--kernel/sched/rt.c65
-rw-r--r--kernel/sched/sched.h59
-rw-r--r--kernel/sched/topology.c17
-rw-r--r--kernel/sched/wait.c8
-rw-r--r--kernel/seccomp.c237
-rw-r--r--kernel/signal.c1
-rw-r--r--kernel/softirq.c66
-rw-r--r--kernel/stop_machine.c60
-rw-r--r--kernel/sys.c152
-rw-r--r--kernel/sysctl.c11
-rw-r--r--kernel/time/sched_clock.c3
-rw-r--r--kernel/time/tick-common.c2
-rw-r--r--kernel/time/tick-sched.c6
-rw-r--r--kernel/time/time.c1
-rw-r--r--kernel/time/timer.c3
-rw-r--r--kernel/trace/Kconfig29
-rw-r--r--kernel/trace/power-traces.c4
-rw-r--r--kernel/trace/trace_preemptirq.c40
-rw-r--r--kernel/workqueue.c8
-rw-r--r--mm/cma.c33
-rw-r--r--mm/filemap.c14
-rw-r--r--mm/madvise.c2
-rw-r--r--mm/memblock.c4
-rw-r--r--mm/memory.c24
-rw-r--r--mm/mempolicy.c3
-rw-r--r--mm/mlock.c2
-rw-r--r--mm/mmap.c42
-rw-r--r--mm/mmzone.c17
-rw-r--r--mm/mprotect.c2
-rw-r--r--mm/page_alloc.c162
-rw-r--r--mm/percpu.c1
-rw-r--r--mm/readahead.c10
-rw-r--r--mm/shmem.c3
-rw-r--r--mm/vmstat.c2
-rw-r--r--net/core/filter.c5
-rw-r--r--net/core/net-traces.c2
-rw-r--r--net/ipv6/addrconf.c33
-rw-r--r--net/ipv6/route.c51
-rw-r--r--net/netfilter/Kconfig23
-rw-r--r--net/netfilter/Makefile1
-rw-r--r--net/netfilter/xt_IDLETIMER.c254
-rw-r--r--net/netfilter/xt_quota2.c400
-rw-r--r--net/socket.c3
-rw-r--r--net/xfrm/xfrm_algo.c2
-rw-r--r--net/xfrm/xfrm_output.c2
-rw-r--r--net/xfrm/xfrm_state.c27
-rw-r--r--net/xfrm/xfrm_user.c29
-rw-r--r--scripts/Makefile.build67
-rw-r--r--scripts/Makefile.lib55
-rw-r--r--scripts/Makefile.modfinal26
-rw-r--r--scripts/Makefile.modpost25
-rw-r--r--scripts/extract-cert.c7
-rwxr-xr-xscripts/generate_initcall_order.pl270
-rwxr-xr-xscripts/kconfig/merge_config.sh15
-rwxr-xr-xscripts/link-vmlinux.sh98
-rw-r--r--scripts/lto-used-symbols.txt5
-rw-r--r--scripts/mod/Makefile1
-rw-r--r--scripts/mod/modpost.c29
-rw-r--r--scripts/mod/modpost.h9
-rw-r--r--scripts/mod/sumversion.c6
-rw-r--r--scripts/module.lds.S24
-rwxr-xr-xscripts/setlocalversion26
-rw-r--r--security/commoncap.c6
-rw-r--r--security/integrity/evm/evm_main.c3
-rw-r--r--security/lockdown/lockdown.c27
-rw-r--r--security/lsm_audit.c5
-rw-r--r--security/security.c33
-rw-r--r--security/selinux/hooks.c41
-rw-r--r--security/selinux/include/classmap.h4
-rw-r--r--security/selinux/include/security.h9
-rw-r--r--security/selinux/nlmsgtab.c26
-rw-r--r--security/selinux/ss/policydb.c4
-rw-r--r--security/selinux/ss/policydb.h2
-rw-r--r--security/selinux/ss/services.c3
-rw-r--r--security/smack/smack_lsm.c5
-rw-r--r--sound/soc/soc-core.c33
-rw-r--r--sound/usb/card.c192
-rw-r--r--sound/usb/card.h21
-rw-r--r--sound/usb/clock.c5
-rw-r--r--sound/usb/pcm.c175
-rw-r--r--sound/usb/pcm.h2
-rw-r--r--sound/usb/stream.c4
-rw-r--r--sound/usb/usbaudio.h49
-rw-r--r--tools/objtool/builtin-check.c10
-rw-r--r--tools/objtool/builtin.h2
-rw-r--r--tools/objtool/check.c97
-rw-r--r--tools/objtool/check.h1
-rw-r--r--tools/objtool/objtool.c1
-rw-r--r--tools/objtool/objtool.h1
-rw-r--r--tools/testing/selftests/filesystems/incfs/.gitignore3
-rw-r--r--tools/testing/selftests/filesystems/incfs/Makefile11
-rw-r--r--tools/testing/selftests/filesystems/incfs/incfs_perf.c717
-rw-r--r--tools/testing/selftests/filesystems/incfs/incfs_stress.c322
-rw-r--r--tools/testing/selftests/filesystems/incfs/incfs_test.c3606
-rw-r--r--tools/testing/selftests/filesystems/incfs/utils.c378
-rw-r--r--tools/testing/selftests/filesystems/incfs/utils.h69
-rw-r--r--tools/testing/selftests/seccomp/seccomp_benchmark.c151
-rw-r--r--tools/testing/selftests/seccomp/settings2
630 files changed, 42966 insertions, 3371 deletions
diff --git a/.gitignore b/.gitignore
index d01cda8e1177..44e34991875e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,7 @@
41*.so.dbg 41*.so.dbg
42*.su 42*.su
43*.symtypes 43*.symtypes
44*.symversions
44*.tab.[ch] 45*.tab.[ch]
45*.tar 46*.tar
46*.xz 47*.xz
diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec
index b7794e02ad20..8eab41e79ce6 100644
--- a/Documentation/ABI/testing/sysfs-class-typec
+++ b/Documentation/ABI/testing/sysfs-class-typec
@@ -139,6 +139,49 @@ Description:
139 Shows if the partner supports USB Power Delivery communication: 139 Shows if the partner supports USB Power Delivery communication:
140 Valid values: yes, no 140 Valid values: yes, no
141 141
142What: /sys/class/typec/<port>-partner/number_of_alternate_modes
143Date: November 2020
144Contact: Prashant Malani <pmalani@chromium.org>
145Description:
146 Shows the number of alternate modes which are advertised by the partner
147 during Power Delivery discovery. This file remains hidden until a value
148 greater than or equal to 0 is set by Type C port driver.
149
150What: /sys/class/typec/<port>-partner/type
151Date: December 2020
152Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
153Description: USB Power Delivery Specification defines a set of product types
154 for the partner devices. This file will show the product type of
155 the partner if it is known. Dual-role capable partners will have
156 both UFP and DFP product types defined, but only one that
157 matches the current role will be active at the time. If the
158 product type of the partner is not visible to the device driver,
159 this file will not exist.
160
161 When the partner product type is detected, or changed with role
162 swap, uvevent is also raised that contains PRODUCT_TYPE=<product
163 type> (for example PRODUCT_TYPE=hub).
164
165 Valid values:
166
167 UFP / device role
168 ====================== ==========================
169 undefined -
170 hub PDUSB Hub
171 peripheral PDUSB Peripheral
172 psd Power Bank
173 ama Alternate Mode Adapter
174 ====================== ==========================
175
176 DFP / host role
177 ====================== ==========================
178 undefined -
179 hub PDUSB Hub
180 host PDUSB Host
181 power_brick Power Brick
182 amc Alternate Mode Controller
183 ====================== ==========================
184
142What: /sys/class/typec/<port>-partner>/identity/ 185What: /sys/class/typec/<port>-partner>/identity/
143Date: April 2017 186Date: April 2017
144Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 187Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
@@ -151,31 +194,6 @@ Description:
151 directory exists, it will have an attribute file for every VDO 194 directory exists, it will have an attribute file for every VDO
152 in Discover Identity command result. 195 in Discover Identity command result.
153 196
154What: /sys/class/typec/<port>-partner/identity/id_header
155Date: April 2017
156Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
157Description:
158 ID Header VDO part of Discover Identity command result. The
159 value will show 0 until Discover Identity command result becomes
160 available. The value can be polled.
161
162What: /sys/class/typec/<port>-partner/identity/cert_stat
163Date: April 2017
164Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
165Description:
166 Cert Stat VDO part of Discover Identity command result. The
167 value will show 0 until Discover Identity command result becomes
168 available. The value can be polled.
169
170What: /sys/class/typec/<port>-partner/identity/product
171Date: April 2017
172Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
173Description:
174 Product VDO part of Discover Identity command result. The value
175 will show 0 until Discover Identity command result becomes
176 available. The value can be polled.
177
178
179USB Type-C cable devices (eg. /sys/class/typec/port0-cable/) 197USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
180 198
181Note: Electronically Marked Cables will have a device also for one cable plug 199Note: Electronically Marked Cables will have a device also for one cable plug
@@ -187,9 +205,21 @@ described in USB Type-C and USB Power Delivery specifications.
187What: /sys/class/typec/<port>-cable/type 205What: /sys/class/typec/<port>-cable/type
188Date: April 2017 206Date: April 2017
189Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 207Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
190Description: 208Description: USB Power Delivery Specification defines a set of product types
191 Shows if the cable is active. 209 for the cables. This file will show the product type of the
192 Valid values: active, passive 210 cable if it is known. If the product type of the cable is not
211 visible to the device driver, this file will not exist.
212
213 When the cable product type is detected, uvevent is also raised
214 with PRODUCT_TYPE showing the product type of the cable.
215
216 Valid values:
217
218 ====================== ==========================
219 undefined -
220 active Active Cable
221 passive Passive Cable
222 ====================== ==========================
193 223
194What: /sys/class/typec/<port>-cable/plug_type 224What: /sys/class/typec/<port>-cable/plug_type
195Date: April 2017 225Date: April 2017
@@ -202,17 +232,37 @@ Description:
202 - type-c 232 - type-c
203 - captive 233 - captive
204 234
205What: /sys/class/typec/<port>-cable/identity/ 235What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes
236Date: November 2020
237Contact: Prashant Malani <pmalani@chromium.org>
238Description:
239 Shows the number of alternate modes which are advertised by the plug
240 associated with a particular cable during Power Delivery discovery.
241 This file remains hidden until a value greater than or equal to 0
242 is set by Type C port driver.
243
244
245USB Type-C partner/cable Power Delivery Identity objects
246
247NOTE: The following attributes will be applicable to both
248partner (e.g /sys/class/typec/port0-partner/) and
249cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
250paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
251reflect this.
252
253What: /sys/class/typec/<port>-{partner|cable}/identity/
206Date: April 2017 254Date: April 2017
207Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 255Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
208Description: 256Description:
209 This directory appears only if the port device driver is capable 257 This directory appears only if the port device driver is capable
210 of showing the result of Discover Identity USB power delivery 258 of showing the result of Discover Identity USB power delivery
211 command. That will not always be possible even when USB power 259 command. That will not always be possible even when USB power
212 delivery is supported. If the directory exists, it will have an 260 delivery is supported, for example when USB power delivery
213 attribute for every VDO returned by Discover Identity command. 261 communication for the port is mostly handled in firmware. If the
262 directory exists, it will have an attribute file for every VDO
263 in Discover Identity command result.
214 264
215What: /sys/class/typec/<port>-cable/identity/id_header 265What: /sys/class/typec/<port>-{partner|cable}/identity/id_header
216Date: April 2017 266Date: April 2017
217Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 267Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
218Description: 268Description:
@@ -220,7 +270,7 @@ Description:
220 value will show 0 until Discover Identity command result becomes 270 value will show 0 until Discover Identity command result becomes
221 available. The value can be polled. 271 available. The value can be polled.
222 272
223What: /sys/class/typec/<port>-cable/identity/cert_stat 273What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat
224Date: April 2017 274Date: April 2017
225Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 275Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
226Description: 276Description:
@@ -228,7 +278,7 @@ Description:
228 value will show 0 until Discover Identity command result becomes 278 value will show 0 until Discover Identity command result becomes
229 available. The value can be polled. 279 available. The value can be polled.
230 280
231What: /sys/class/typec/<port>-cable/identity/product 281What: /sys/class/typec/<port>-{partner|cable}/identity/product
232Date: April 2017 282Date: April 2017
233Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 283Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
234Description: 284Description:
@@ -236,6 +286,30 @@ Description:
236 will show 0 until Discover Identity command result becomes 286 will show 0 until Discover Identity command result becomes
237 available. The value can be polled. 287 available. The value can be polled.
238 288
289What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
290Date: October 2020
291Contact: Prashant Malani <pmalani@chromium.org>
292Description:
293 1st Product Type VDO of Discover Identity command result.
294 The value will show 0 until Discover Identity command result becomes
295 available and a valid Product Type VDO is returned.
296
297What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
298Date: October 2020
299Contact: Prashant Malani <pmalani@chromium.org>
300Description:
301 2nd Product Type VDO of Discover Identity command result.
302 The value will show 0 until Discover Identity command result becomes
303 available and a valid Product Type VDO is returned.
304
305What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
306Date: October 2020
307Contact: Prashant Malani <pmalani@chromium.org>
308Description:
309 3rd Product Type VDO of Discover Identity command result.
310 The value will show 0 until Discover Identity command result becomes
311 available and a valid Product Type VDO is returned.
312
239 313
240USB Type-C port alternate mode devices. 314USB Type-C port alternate mode devices.
241 315
diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
index 67b3ed8e8c2f..3dfee94e0618 100644
--- a/Documentation/ABI/testing/sysfs-fs-f2fs
+++ b/Documentation/ABI/testing/sysfs-fs-f2fs
@@ -370,3 +370,10 @@ Date: April 2020
370Contact: "Daeho Jeong" <daehojeong@google.com> 370Contact: "Daeho Jeong" <daehojeong@google.com>
371Description: Give a way to change iostat_period time. 3secs by default. 371Description: Give a way to change iostat_period time. 3secs by default.
372 The new iostat trace gives stats gap given the period. 372 The new iostat trace gives stats gap given the period.
373What: /sys/fs/f2fs/<disk>/max_io_bytes
374Date: December 2020
375Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
376Description: This gives a control to limit the bio size in f2fs.
377 Default is zero, which will follow underlying block layer limit,
378 whereas, if it has a certain bytes value, f2fs won't submit a
379 bio larger than that size.
diff --git a/Documentation/ABI/testing/sysfs-kernel-ion b/Documentation/ABI/testing/sysfs-kernel-ion
new file mode 100644
index 000000000000..f57f970574ae
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-ion
@@ -0,0 +1,27 @@
1What: /sys/kernel/ion
2Date: Dec 2019
3KernelVersion: 4.14.158
4Contact: Suren Baghdasaryan <surenb@google.com>,
5 Sandeep Patil <sspatil@google.com>
6Description:
7 The /sys/kernel/ion directory contains a snapshot of the
8 internal state of ION memory heaps and pools.
9Users: kernel memory tuning tools
10
11What: /sys/kernel/ion/total_heaps_kb
12Date: Dec 2019
13KernelVersion: 4.14.158
14Contact: Suren Baghdasaryan <surenb@google.com>,
15 Sandeep Patil <sspatil@google.com>
16Description:
17 The total_heaps_kb file is read-only and specifies how much
18 memory in Kb is allocated to ION heaps.
19
20What: /sys/kernel/ion/total_pools_kb
21Date: Dec 2019
22KernelVersion: 4.14.158
23Contact: Suren Baghdasaryan <surenb@google.com>,
24 Sandeep Patil <sspatil@google.com>
25Description:
26 The total_pools_kb file is read-only and specifies how much
27 memory in Kb is allocated to ION pools.
diff --git a/Documentation/ABI/testing/sysfs-kernel-wakeup_reasons b/Documentation/ABI/testing/sysfs-kernel-wakeup_reasons
new file mode 100644
index 000000000000..acb19b91c192
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-wakeup_reasons
@@ -0,0 +1,16 @@
1What: /sys/kernel/wakeup_reasons/last_resume_reason
2Date: February 2014
3Contact: Ruchi Kandoi <kandoiruchi@google.com>
4Description:
5 The /sys/kernel/wakeup_reasons/last_resume_reason is
6 used to report wakeup reasons after system exited suspend.
7
8What: /sys/kernel/wakeup_reasons/last_suspend_time
9Date: March 2015
10Contact: jinqian <jinqian@google.com>
11Description:
12 The /sys/kernel/wakeup_reasons/last_suspend_time is
13 used to report time spent in last suspend cycle. It contains
14 two numbers (in seconds) separated by space. First number is
15 the time spent in suspend and resume processes. Second number
16 is the time spent in sleep state. \ No newline at end of file
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index f6a1513dfb76..b885bbf9c8fd 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1567,6 +1567,10 @@
1567 If specified, z/VM IUCV HVC accepts connections 1567 If specified, z/VM IUCV HVC accepts connections
1568 from listed z/VM user IDs only. 1568 from listed z/VM user IDs only.
1569 1569
1570 hvc_dcc.enable= [ARM,ARM64] Enable DCC driver at runtime. For GKI,
1571 disabled at runtime by default to prevent
1572 crashes in devices which do not support DCC.
1573
1570 hv_nopvspin [X86,HYPER_V] Disables the paravirt spinlock optimizations 1574 hv_nopvspin [X86,HYPER_V] Disables the paravirt spinlock optimizations
1571 which allow the hypervisor to 'idle' the 1575 which allow the hypervisor to 'idle' the
1572 guest on lock contention. 1576 guest on lock contention.
diff --git a/Documentation/admin-guide/sysctl/vm.rst b/Documentation/admin-guide/sysctl/vm.rst
index f455fa00c00f..9535523801e6 100644
--- a/Documentation/admin-guide/sysctl/vm.rst
+++ b/Documentation/admin-guide/sysctl/vm.rst
@@ -38,6 +38,7 @@ Currently, these files are in /proc/sys/vm:
38- dirty_writeback_centisecs 38- dirty_writeback_centisecs
39- drop_caches 39- drop_caches
40- extfrag_threshold 40- extfrag_threshold
41- extra_free_kbytes
41- highmem_is_dirtyable 42- highmem_is_dirtyable
42- hugetlb_shm_group 43- hugetlb_shm_group
43- laptop_mode 44- laptop_mode
@@ -307,6 +308,21 @@ only use the low memory and they can fill it up with dirty data without
307any throttling. 308any throttling.
308 309
309 310
311extra_free_kbytes
312
313This parameter tells the VM to keep extra free memory between the threshold
314where background reclaim (kswapd) kicks in, and the threshold where direct
315reclaim (by allocating processes) kicks in.
316
317This is useful for workloads that require low latency memory allocations
318and have a bounded burstiness in memory allocations, for example a
319realtime application that receives and transmits network traffic
320(causing in-kernel memory allocations) with a maximum total message burst
321size of 200MB may need 200MB of extra free memory to avoid direct reclaim
322related latencies.
323
324==============================================================
325
310hugetlb_shm_group 326hugetlb_shm_group
311================= 327=================
312 328
diff --git a/Documentation/device-mapper/dm-bow.txt b/Documentation/device-mapper/dm-bow.txt
new file mode 100644
index 000000000000..e3fc4d22e0f4
--- /dev/null
+++ b/Documentation/device-mapper/dm-bow.txt
@@ -0,0 +1,99 @@
1dm_bow (backup on write)
2========================
3
4dm_bow is a device mapper driver that uses the free space on a device to back up
5data that is overwritten. The changes can then be committed by a simple state
6change, or rolled back by removing the dm_bow device and running a command line
7utility over the underlying device.
8
9dm_bow has three states, set by writing ‘1’ or ‘2’ to /sys/block/dm-?/bow/state.
10It is only possible to go from state 0 (initial state) to state 1, and then from
11state 1 to state 2.
12
13State 0: dm_bow collects all trims to the device and assumes that these mark
14free space on the overlying file system that can be safely used. Typically the
15mount code would create the dm_bow device, mount the file system, call the
16FITRIM ioctl on the file system then switch to state 1. These trims are not
17propagated to the underlying device.
18
19State 1: All writes to the device cause the underlying data to be backed up to
20the free (trimmed) area as needed in such a way as they can be restored.
21However, the writes, with one exception, then happen exactly as they would
22without dm_bow, so the device is always in a good final state. The exception is
23that sector 0 is used to keep a log of the latest changes, both to indicate that
24we are in this state and to allow rollback. See below for all details. If there
25isn't enough free space, writes are failed with -ENOSPC.
26
27State 2: The transition to state 2 triggers replacing the special sector 0 with
28the normal sector 0, and the freeing of all state information. dm_bow then
29becomes a pass-through driver, allowing the device to continue to be used with
30minimal performance impact.
31
32Usage
33=====
34dm-bow takes one command line parameter, the name of the underlying device.
35
36dm-bow will typically be used in the following way. dm-bow will be loaded with a
37suitable underlying device and the resultant device will be mounted. A file
38system trim will be issued via the FITRIM ioctl, then the device will be
39switched to state 1. The file system will now be used as normal. At some point,
40the changes can either be committed by switching to state 2, or rolled back by
41unmounting the file system, removing the dm-bow device and running the command
42line utility. Note that rebooting the device will be equivalent to unmounting
43and removing, but the command line utility must still be run
44
45Details of operation in state 1
46===============================
47
48dm_bow maintains a type for all sectors. A sector can be any of:
49
50SECTOR0
51SECTOR0_CURRENT
52UNCHANGED
53FREE
54CHANGED
55BACKUP
56
57SECTOR0 is the first sector on the device, and is used to hold the log of
58changes. This is the one exception.
59
60SECTOR0_CURRENT is a sector picked from the FREE sectors, and is where reads and
61writes from the true sector zero are redirected to. Note that like any backup
62sector, if the sector is written to directly, it must be moved again.
63
64UNCHANGED means that the sector has not been changed since we entered state 1.
65Thus if it is written to or trimmed, the contents must first be backed up.
66
67FREE means that the sector was trimmed in state 0 and has not yet been written
68to or used for backup. On being written to, a FREE sector is changed to CHANGED.
69
70CHANGED means that the sector has been modified, and can be further modified
71without further backup.
72
73BACKUP means that this is a free sector being used as a backup. On being written
74to, the contents must first be backed up again.
75
76All backup operations are logged to the first sector. The log sector has the
77format:
78--------------------------------------------------------
79| Magic | Count | Sequence | Log entry | Log entry | …
80--------------------------------------------------------
81
82Magic is a magic number. Count is the number of log entries. Sequence is 0
83initially. A log entry is
84
85-----------------------------------
86| Source | Dest | Size | Checksum |
87-----------------------------------
88
89When SECTOR0 is full, the log sector is backed up and another empty log sector
90created with sequence number one higher. The first entry in any log entry with
91sequence > 0 therefore must be the log of the backing up of the previous log
92sector. Note that sequence is not strictly needed, but is a useful sanity check
93and potentially limits the time spent trying to restore a corrupted snapshot.
94
95On entering state 1, dm_bow has a list of free sectors. All other sectors are
96unchanged. Sector0_current is selected from the free sectors and the contents of
97sector 0 are copied there. The sector 0 is backed up, which triggers the first
98log entry to be written.
99
diff --git a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt
index 1df293953327..004584ef71f7 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt
@@ -25,6 +25,9 @@ Properties:
25 Usage: required 25 Usage: required
26 Value type: <prop-encoded-array> 26 Value type: <prop-encoded-array>
27 Definition: Specifies the base physical address for PDC hardware. 27 Definition: Specifies the base physical address for PDC hardware.
28 Optionally, specify the PDC's GIC interface registers that
29 need to be configured for wakeup capable GPIOs routed to
30 the PDC.
28 31
29- interrupt-cells: 32- interrupt-cells:
30 Usage: required 33 Usage: required
@@ -51,15 +54,23 @@ Properties:
51 The second element is the GIC hwirq number for the PDC port. 54 The second element is the GIC hwirq number for the PDC port.
52 The third element is the number of interrupts in sequence. 55 The third element is the number of interrupts in sequence.
53 56
57- qcom,scm-spi-cfg:
58 Usage: optional
59 Value type: <bool>
60 Definition: Specifies if the SPI configuration registers have to be
61 written from the firmware. Sometimes the PDC interface
62 register to the GIC can only be written from the firmware.
63
54Example: 64Example:
55 65
56 pdc: interrupt-controller@b220000 { 66 pdc: interrupt-controller@b220000 {
57 compatible = "qcom,sdm845-pdc"; 67 compatible = "qcom,sdm845-pdc";
58 reg = <0xb220000 0x30000>; 68 reg = <0 0x0b220000 0 0x30000>, <0 0x179900f0 0 0x60>;
59 qcom,pdc-ranges = <0 512 94>, <94 641 15>, <115 662 7>; 69 qcom,pdc-ranges = <0 512 94>, <94 641 15>, <115 662 7>;
60 #interrupt-cells = <2>; 70 #interrupt-cells = <2>;
61 interrupt-parent = <&intc>; 71 interrupt-parent = <&intc>;
62 interrupt-controller; 72 interrupt-controller;
73 qcom,scm-spi-cfg;
63 }; 74 };
64 75
65DT binding of a device that wants to use the GIC SPI 514 as a wakeup 76DT binding of a device that wants to use the GIC SPI 514 as a wakeup
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index 503160a7b9a0..3b63f2ae24db 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -28,8 +28,6 @@ properties:
28 - enum: 28 - enum:
29 - qcom,msm8996-smmu-v2 29 - qcom,msm8996-smmu-v2
30 - qcom,msm8998-smmu-v2 30 - qcom,msm8998-smmu-v2
31 - qcom,sc7180-smmu-v2
32 - qcom,sdm845-smmu-v2
33 - const: qcom,smmu-v2 31 - const: qcom,smmu-v2
34 32
35 - description: Qcom SoCs implementing "arm,mmu-500" 33 - description: Qcom SoCs implementing "arm,mmu-500"
@@ -40,6 +38,13 @@ properties:
40 - qcom,sm8150-smmu-500 38 - qcom,sm8150-smmu-500
41 - qcom,sm8250-smmu-500 39 - qcom,sm8250-smmu-500
42 - const: arm,mmu-500 40 - const: arm,mmu-500
41 - description: Qcom Adreno GPUs implementing "arm,smmu-v2"
42 items:
43 - enum:
44 - qcom,sc7180-smmu-v2
45 - qcom,sdm845-smmu-v2
46 - const: qcom,adreno-smmu
47 - const: qcom,smmu-v2
43 - description: Marvell SoCs implementing "arm,mmu-500" 48 - description: Marvell SoCs implementing "arm,mmu-500"
44 items: 49 items:
45 - const: marvell,ap806-smmu-500 50 - const: marvell,ap806-smmu-500
diff --git a/Documentation/devicetree/bindings/usb/maxim,max33359.yaml b/Documentation/devicetree/bindings/usb/maxim,max33359.yaml
new file mode 100644
index 000000000000..93a19eda610b
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/maxim,max33359.yaml
@@ -0,0 +1,75 @@
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/usb/maxim,max33359.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: Maxim TCPCI Type-C PD controller DT bindings
8
9maintainers:
10 - Badhri Jagan Sridharan <badhri@google.com>
11
12description: Maxim TCPCI Type-C PD controller
13
14properties:
15 compatible:
16 enum:
17 - maxim,max33359
18
19 reg:
20 maxItems: 1
21
22 interrupts:
23 maxItems: 1
24
25 connector:
26 type: object
27 $ref: ../connector/usb-connector.yaml#
28 description:
29 Properties for usb c connector.
30
31required:
32 - compatible
33 - reg
34 - interrupts
35 - connector
36
37additionalProperties: false
38
39examples:
40 - |
41 #include <dt-bindings/interrupt-controller/irq.h>
42 #include <dt-bindings/usb/pd.h>
43 i2c0 {
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 maxtcpc@25 {
48 compatible = "maxim,max33359";
49 reg = <0x25>;
50 interrupt-parent = <&gpa8>;
51 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
52
53 connector {
54 compatible = "usb-c-connector";
55 label = "USB-C";
56 data-role = "dual";
57 power-role = "dual";
58 try-power-role = "sink";
59 self-powered;
60 op-sink-microwatt = <2600000>;
61 new-source-frs-typec-current = <FRS_5V_1P5A>;
62 source-pdos = <PDO_FIXED(5000, 900,
63 PDO_FIXED_SUSPEND |
64 PDO_FIXED_USB_COMM |
65 PDO_FIXED_DATA_SWAP |
66 PDO_FIXED_DUAL_ROLE)>;
67 sink-pdos = <PDO_FIXED(5000, 3000,
68 PDO_FIXED_USB_COMM |
69 PDO_FIXED_DATA_SWAP |
70 PDO_FIXED_DUAL_ROLE)
71 PDO_FIXED(9000, 2000, 0)>;
72 };
73 };
74 };
75...
diff --git a/Documentation/filesystems/ext4/directory.rst b/Documentation/filesystems/ext4/directory.rst
index 073940cc64ed..55f618b37144 100644
--- a/Documentation/filesystems/ext4/directory.rst
+++ b/Documentation/filesystems/ext4/directory.rst
@@ -121,6 +121,31 @@ The directory file type is one of the following values:
121 * - 0x7 121 * - 0x7
122 - Symbolic link. 122 - Symbolic link.
123 123
124To support directories that are both encrypted and casefolded directories, we
125must also include hash information in the directory entry. We append
126``ext4_extended_dir_entry_2`` to ``ext4_dir_entry_2`` except for the entries
127for dot and dotdot, which are kept the same. The structure follows immediately
128after ``name`` and is included in the size listed by ``rec_len`` If a directory
129entry uses this extension, it may be up to 271 bytes.
130
131.. list-table::
132 :widths: 8 8 24 40
133 :header-rows: 1
134
135 * - Offset
136 - Size
137 - Name
138 - Description
139 * - 0x0
140 - \_\_le32
141 - hash
142 - The hash of the directory name
143 * - 0x4
144 - \_\_le32
145 - minor\_hash
146 - The minor hash of the directory name
147
148
124In order to add checksums to these classic directory blocks, a phony 149In order to add checksums to these classic directory blocks, a phony
125``struct ext4_dir_entry`` is placed at the end of each leaf block to 150``struct ext4_dir_entry`` is placed at the end of each leaf block to
126hold the checksum. The directory entry is 12 bytes long. The inode 151hold the checksum. The directory entry is 12 bytes long. The inode
@@ -322,6 +347,8 @@ The directory hash is one of the following values:
322 - Half MD4, unsigned. 347 - Half MD4, unsigned.
323 * - 0x5 348 * - 0x5
324 - Tea, unsigned. 349 - Tea, unsigned.
350 * - 0x6
351 - Siphash.
325 352
326Interior nodes of an htree are recorded as ``struct dx_node``, which is 353Interior nodes of an htree are recorded as ``struct dx_node``, which is
327also the full length of a data block: 354also the full length of a data block:
diff --git a/Documentation/filesystems/f2fs.rst b/Documentation/filesystems/f2fs.rst
index b8ee761c9922..dae15c96e659 100644
--- a/Documentation/filesystems/f2fs.rst
+++ b/Documentation/filesystems/f2fs.rst
@@ -260,6 +260,14 @@ compress_extension=%s Support adding specified extension, so that f2fs can enab
260 For other files, we can still enable compression via ioctl. 260 For other files, we can still enable compression via ioctl.
261 Note that, there is one reserved special extension '*', it 261 Note that, there is one reserved special extension '*', it
262 can be set to enable compression for all files. 262 can be set to enable compression for all files.
263compress_chksum Support verifying chksum of raw data in compressed cluster.
264compress_mode=%s Control file compression mode. This supports "fs" and "user"
265 modes. In "fs" mode (default), f2fs does automatic compression
266 on the compression enabled files. In "user" mode, f2fs disables
267 the automaic compression and gives the user discretion of
268 choosing the target file and the timing. The user can do manual
269 compression/decompression on the compression enabled files using
270 ioctls.
263inlinecrypt When possible, encrypt/decrypt the contents of encrypted 271inlinecrypt When possible, encrypt/decrypt the contents of encrypted
264 files using the blk-crypto framework rather than 272 files using the blk-crypto framework rather than
265 filesystem-layer encryption. This allows the use of 273 filesystem-layer encryption. This allows the use of
@@ -810,6 +818,34 @@ Compress metadata layout::
810 | data length | data chksum | reserved | compressed data | 818 | data length | data chksum | reserved | compressed data |
811 +-------------+-------------+----------+----------------------------+ 819 +-------------+-------------+----------+----------------------------+
812 820
821Compression mode
822--------------------------
823
824f2fs supports "fs" and "user" compression modes with "compression_mode" mount option.
825With this option, f2fs provides a choice to select the way how to compress the
826compression enabled files (refer to "Compression implementation" section for how to
827enable compression on a regular inode).
828
8291) compress_mode=fs
830This is the default option. f2fs does automatic compression in the writeback of the
831compression enabled files.
832
8332) compress_mode=user
834This disables the automaic compression and gives the user discretion of choosing the
835target file and the timing. The user can do manual compression/decompression on the
836compression enabled files using F2FS_IOC_DECOMPRESS_FILE and F2FS_IOC_COMPRESS_FILE
837ioctls like the below.
838
839To decompress a file,
840
841fd = open(filename, O_WRONLY, 0);
842ret = ioctl(fd, F2FS_IOC_DECOMPRESS_FILE);
843
844To compress a file,
845
846fd = open(filename, O_WRONLY, 0);
847ret = ioctl(fd, F2FS_IOC_COMPRESS_FILE);
848
813NVMe Zoned Namespace devices 849NVMe Zoned Namespace devices
814---------------------------- 850----------------------------
815 851
diff --git a/Documentation/filesystems/locking.rst b/Documentation/filesystems/locking.rst
index c0f2c7586531..bcb092e74c1e 100644
--- a/Documentation/filesystems/locking.rst
+++ b/Documentation/filesystems/locking.rst
@@ -125,7 +125,7 @@ prototypes::
125 bool (*list)(struct dentry *dentry); 125 bool (*list)(struct dentry *dentry);
126 int (*get)(const struct xattr_handler *handler, struct dentry *dentry, 126 int (*get)(const struct xattr_handler *handler, struct dentry *dentry,
127 struct inode *inode, const char *name, void *buffer, 127 struct inode *inode, const char *name, void *buffer,
128 size_t size); 128 size_t size, int flags);
129 int (*set)(const struct xattr_handler *handler, struct dentry *dentry, 129 int (*set)(const struct xattr_handler *handler, struct dentry *dentry,
130 struct inode *inode, const char *name, const void *buffer, 130 struct inode *inode, const char *name, const void *buffer,
131 size_t size, int flags); 131 size_t size, int flags);
diff --git a/Documentation/filesystems/overlayfs.rst b/Documentation/filesystems/overlayfs.rst
index 580ab9a0fe31..18ac7d35c145 100644
--- a/Documentation/filesystems/overlayfs.rst
+++ b/Documentation/filesystems/overlayfs.rst
@@ -137,6 +137,29 @@ Only the lists of names from directories are merged. Other content
137such as metadata and extended attributes are reported for the upper 137such as metadata and extended attributes are reported for the upper
138directory only. These attributes of the lower directory are hidden. 138directory only. These attributes of the lower directory are hidden.
139 139
140credentials
141-----------
142
143By default, all access to the upper, lower and work directories is the
144recorded mounter's MAC and DAC credentials. The incoming accesses are
145checked against the caller's credentials.
146
147In the case where caller MAC or DAC credentials do not overlap, a
148use case available in older versions of the driver, the
149override_creds mount flag can be turned off and help when the use
150pattern has caller with legitimate credentials where the mounter
151does not. Several unintended side effects will occur though. The
152caller without certain key capabilities or lower privilege will not
153always be able to delete files or directories, create nodes, or
154search some restricted directories. The ability to search and read
155a directory entry is spotty as a result of the cache mechanism not
156retesting the credentials because of the assumption, a privileged
157caller can fill cache, then a lower privilege can read the directory
158cache. The uneven security model where cache, upperdir and workdir
159are opened at privilege, but accessed without creating a form of
160privilege escalation, should only be used with strict understanding
161of the side effects and of the security policies.
162
140whiteouts and opaque directories 163whiteouts and opaque directories
141-------------------------------- 164--------------------------------
142 165
diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst
index 533c79e8d2cd..e72c93161134 100644
--- a/Documentation/filesystems/proc.rst
+++ b/Documentation/filesystems/proc.rst
@@ -429,6 +429,8 @@ is not associated with a file:
429 [stack] the stack of the main process 429 [stack] the stack of the main process
430 [vdso] the "virtual dynamic shared object", 430 [vdso] the "virtual dynamic shared object",
431 the kernel system call handler 431 the kernel system call handler
432 [anon:<name>] an anonymous mapping that has been
433 named by userspace
432 ======= ==================================== 434 ======= ====================================
433 435
434 or if empty, the mapping is anonymous. 436 or if empty, the mapping is anonymous.
@@ -462,6 +464,7 @@ Memory Area, or VMA) there is a series of lines such as the following::
462 Locked: 0 kB 464 Locked: 0 kB
463 THPeligible: 0 465 THPeligible: 0
464 VmFlags: rd ex mr mw me dw 466 VmFlags: rd ex mr mw me dw
467 Name: name from userspace
465 468
466The first of these lines shows the same information as is displayed for the 469The first of these lines shows the same information as is displayed for the
467mapping in /proc/PID/maps. Following lines show the size of the mapping 470mapping in /proc/PID/maps. Following lines show the size of the mapping
@@ -554,6 +557,9 @@ be vanished or the reverse -- new added. Interpretation of their meaning
554might change in future as well. So each consumer of these flags has to 557might change in future as well. So each consumer of these flags has to
555follow each specific kernel version for the exact semantic. 558follow each specific kernel version for the exact semantic.
556 559
560The "Name" field will only be present on a mapping that has been named by
561userspace, and will show the name passed in by userspace.
562
557This file is only present if the CONFIG_MMU kernel configuration option is 563This file is only present if the CONFIG_MMU kernel configuration option is
558enabled. 564enabled.
559 565
diff --git a/Documentation/kbuild/modules.rst b/Documentation/kbuild/modules.rst
index 85ccc878895e..d4b3e0c1d9fb 100644
--- a/Documentation/kbuild/modules.rst
+++ b/Documentation/kbuild/modules.rst
@@ -21,6 +21,7 @@ This document describes how to build an out-of-tree kernel module.
21 --- 4.1 Kernel Includes 21 --- 4.1 Kernel Includes
22 --- 4.2 Single Subdirectory 22 --- 4.2 Single Subdirectory
23 --- 4.3 Several Subdirectories 23 --- 4.3 Several Subdirectories
24 --- 4.4 UAPI Headers Installation
24 === 5. Module Installation 25 === 5. Module Installation
25 --- 5.1 INSTALL_MOD_PATH 26 --- 5.1 INSTALL_MOD_PATH
26 --- 5.2 INSTALL_MOD_DIR 27 --- 5.2 INSTALL_MOD_DIR
@@ -131,6 +132,10 @@ executed to make module versioning work.
131 /lib/modules/<kernel_release>/extra/, but a prefix may 132 /lib/modules/<kernel_release>/extra/, but a prefix may
132 be added with INSTALL_MOD_PATH (discussed in section 5). 133 be added with INSTALL_MOD_PATH (discussed in section 5).
133 134
135 headers_install
136 Export headers in a format suitable for userspace. The default
137 location is $PWD/usr. INSTALL_HDR_PATH can change this path.
138
134 clean 139 clean
135 Remove all generated files in the module directory only. 140 Remove all generated files in the module directory only.
136 141
@@ -406,6 +411,17 @@ according to the following rule:
406 pointing to the directory where the currently executing kbuild 411 pointing to the directory where the currently executing kbuild
407 file is located. 412 file is located.
408 413
4144.4 UAPI Headers Installation
415-----------------------------
416
417 External modules may export headers to userspace in a similar
418 fashion to the in-tree counterpart drivers. kbuild supports
419 running headers_install target in an out-of-tree. The location
420 where kbuild searches for headers is $(M)/include/uapi and
421 $(M)/arch/$(SRCARCH)/include/uapi.
422
423 See also Documentation/kbuild/headers_install.rst.
424
409 425
4105. Module Installation 4265. Module Installation
411====================== 427======================
diff --git a/Documentation/scheduler/sched-energy.rst b/Documentation/scheduler/sched-energy.rst
index 001e09c95e1d..1f5792ce82a2 100644
--- a/Documentation/scheduler/sched-energy.rst
+++ b/Documentation/scheduler/sched-energy.rst
@@ -397,7 +397,7 @@ Consequently, the only sane governor to use together with EAS is schedutil,
397because it is the only one providing some degree of consistency between 397because it is the only one providing some degree of consistency between
398frequency requests and energy predictions. 398frequency requests and energy predictions.
399 399
400Using EAS with any other governor than schedutil is not supported. 400Using EAS with any other governor than schedutil is not recommended.
401 401
402 402
4036.5 Scale-invariant utilization signals 4036.5 Scale-invariant utilization signals
diff --git a/MAINTAINERS b/MAINTAINERS
index 281de213ef47..e506f602d4b6 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8648,6 +8648,13 @@ F: Documentation/hwmon/ina2xx.rst
8648F: drivers/hwmon/ina2xx.c 8648F: drivers/hwmon/ina2xx.c
8649F: include/linux/platform_data/ina2xx.h 8649F: include/linux/platform_data/ina2xx.h
8650 8650
8651INCREMENTAL FILE SYSTEM
8652M: Paul Lawrence <paullawrence@google.com>
8653L: linux-unionfs@vger.kernel.org
8654S: Supported
8655F: fs/incfs/
8656F: tools/testing/selftests/filesystems/incfs/
8657
8651INDUSTRY PACK SUBSYSTEM (IPACK) 8658INDUSTRY PACK SUBSYSTEM (IPACK)
8652M: Samuel Iglesias Gonsalvez <siglesias@igalia.com> 8659M: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
8653M: Jens Taprogge <jens.taprogge@taprogge.org> 8660M: Jens Taprogge <jens.taprogge@taprogge.org>
@@ -12381,6 +12388,12 @@ W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
12381F: Documentation/scsi/NinjaSCSI.rst 12388F: Documentation/scsi/NinjaSCSI.rst
12382F: drivers/scsi/nsp32* 12389F: drivers/scsi/nsp32*
12383 12390
12391NINTENDO HID DRIVER
12392M: Daniel J. Ogorchock <djogorchock@gmail.com>
12393L: linux-input@vger.kernel.org
12394S: Maintained
12395F: drivers/hid/hid-nintendo*
12396
12384NIOS2 ARCHITECTURE 12397NIOS2 ARCHITECTURE
12385M: Ley Foon Tan <ley.foon.tan@intel.com> 12398M: Ley Foon Tan <ley.foon.tan@intel.com>
12386S: Maintained 12399S: Maintained
diff --git a/Makefile b/Makefile
index 1e50d6af932a..bfd26bbcc3c4 100644
--- a/Makefile
+++ b/Makefile
@@ -434,6 +434,7 @@ OBJCOPY = llvm-objcopy
434OBJDUMP = llvm-objdump 434OBJDUMP = llvm-objdump
435READELF = llvm-readelf 435READELF = llvm-readelf
436STRIP = llvm-strip 436STRIP = llvm-strip
437KBUILD_HOSTLDFLAGS += -fuse-ld=lld --rtlib=compiler-rt
437else 438else
438CC = $(CROSS_COMPILE)gcc 439CC = $(CROSS_COMPILE)gcc
439LD = $(CROSS_COMPILE)ld 440LD = $(CROSS_COMPILE)ld
@@ -460,7 +461,7 @@ KGZIP = gzip
460KBZIP2 = bzip2 461KBZIP2 = bzip2
461KLZOP = lzop 462KLZOP = lzop
462LZMA = lzma 463LZMA = lzma
463LZ4 = lz4c 464LZ4 = lz4
464XZ = xz 465XZ = xz
465ZSTD = zstd 466ZSTD = zstd
466 467
@@ -851,12 +852,8 @@ KBUILD_CFLAGS += $(DEBUG_CFLAGS)
851export DEBUG_CFLAGS 852export DEBUG_CFLAGS
852 853
853ifdef CONFIG_FUNCTION_TRACER 854ifdef CONFIG_FUNCTION_TRACER
854ifdef CONFIG_FTRACE_MCOUNT_RECORD 855ifdef CONFIG_FTRACE_MCOUNT_USE_CC
855 # gcc 5 supports generating the mcount tables directly 856 CC_FLAGS_FTRACE += -mrecord-mcount
856 ifeq ($(call cc-option-yn,-mrecord-mcount),y)
857 CC_FLAGS_FTRACE += -mrecord-mcount
858 export CC_USING_RECORD_MCOUNT := 1
859 endif
860 ifdef CONFIG_HAVE_NOP_MCOUNT 857 ifdef CONFIG_HAVE_NOP_MCOUNT
861 ifeq ($(call cc-option-yn, -mnop-mcount),y) 858 ifeq ($(call cc-option-yn, -mnop-mcount),y)
862 CC_FLAGS_FTRACE += -mnop-mcount 859 CC_FLAGS_FTRACE += -mnop-mcount
@@ -864,6 +861,15 @@ ifdef CONFIG_FTRACE_MCOUNT_RECORD
864 endif 861 endif
865 endif 862 endif
866endif 863endif
864ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
865 CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
866endif
867ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT
868 ifdef CONFIG_HAVE_C_RECORDMCOUNT
869 BUILD_C_RECORDMCOUNT := y
870 export BUILD_C_RECORDMCOUNT
871 endif
872endif
867ifdef CONFIG_HAVE_FENTRY 873ifdef CONFIG_HAVE_FENTRY
868 ifeq ($(call cc-option-yn, -mfentry),y) 874 ifeq ($(call cc-option-yn, -mfentry),y)
869 CC_FLAGS_FTRACE += -mfentry 875 CC_FLAGS_FTRACE += -mfentry
@@ -873,12 +879,6 @@ endif
873export CC_FLAGS_FTRACE 879export CC_FLAGS_FTRACE
874KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING) 880KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING)
875KBUILD_AFLAGS += $(CC_FLAGS_USING) 881KBUILD_AFLAGS += $(CC_FLAGS_USING)
876ifdef CONFIG_DYNAMIC_FTRACE
877 ifdef CONFIG_HAVE_C_RECORDMCOUNT
878 BUILD_C_RECORDMCOUNT := y
879 export BUILD_C_RECORDMCOUNT
880 endif
881endif
882endif 882endif
883 883
884# We trigger additional mismatches with less inlining 884# We trigger additional mismatches with less inlining
@@ -897,6 +897,24 @@ KBUILD_CFLAGS += $(CC_FLAGS_SCS)
897export CC_FLAGS_SCS 897export CC_FLAGS_SCS
898endif 898endif
899 899
900ifdef CONFIG_LTO_CLANG
901ifdef CONFIG_LTO_CLANG_THIN
902CC_FLAGS_LTO += -flto=thin -fsplit-lto-unit
903KBUILD_LDFLAGS += --thinlto-cache-dir=$(extmod-prefix).thinlto-cache
904else
905CC_FLAGS_LTO += -flto
906endif
907CC_FLAGS_LTO += -fvisibility=hidden
908
909# Limit inlining across translation units to reduce binary size
910KBUILD_LDFLAGS += -mllvm -import-instr-limit=5
911endif
912
913ifdef CONFIG_LTO
914KBUILD_CFLAGS += $(CC_FLAGS_LTO)
915export CC_FLAGS_LTO
916endif
917
900ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B 918ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
901KBUILD_CFLAGS += -falign-functions=32 919KBUILD_CFLAGS += -falign-functions=32
902endif 920endif
@@ -1101,6 +1119,41 @@ PHONY += prepare0
1101export MODORDER := $(extmod-prefix)modules.order 1119export MODORDER := $(extmod-prefix)modules.order
1102export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps 1120export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps
1103 1121
1122# ---------------------------------------------------------------------------
1123# Kernel headers
1124
1125PHONY += headers
1126
1127#Default location for installed headers
1128ifeq ($(KBUILD_EXTMOD),)
1129PHONY += archheaders archscripts
1130hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
1131headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
1132else
1133hdr-prefix = $(KBUILD_EXTMOD)/
1134hdr-inst := -f $(srctree)/scripts/Makefile.headersinst dst=$(KBUILD_EXTMOD)/usr/include objtree=$(objtree)/$(KBUILD_EXTMOD) obj
1135endif
1136
1137export INSTALL_HDR_PATH = $(objtree)/$(hdr-prefix)usr
1138
1139quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
1140 cmd_headers_install = \
1141 mkdir -p $(INSTALL_HDR_PATH); \
1142 rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
1143 usr/include $(INSTALL_HDR_PATH)
1144
1145PHONY += headers_install
1146headers_install: headers
1147 $(call cmd,headers_install)
1148
1149headers:
1150ifeq ($(KBUILD_EXTMOD),)
1151 $(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
1152 $(error Headers not exportable for the $(SRCARCH) architecture))
1153endif
1154 $(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi
1155 $(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi
1156
1104ifeq ($(KBUILD_EXTMOD),) 1157ifeq ($(KBUILD_EXTMOD),)
1105core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/ 1158core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
1106 1159
@@ -1176,7 +1229,8 @@ targets := vmlinux
1176$(sort $(vmlinux-deps) $(subdir-modorder)): descend ; 1229$(sort $(vmlinux-deps) $(subdir-modorder)): descend ;
1177 1230
1178filechk_kernel.release = \ 1231filechk_kernel.release = \
1179 echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" 1232 echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
1233 $(srctree) $(BRANCH) $(KMI_GENERATION))"
1180 1234
1181# Store (new) KERNELRELEASE string in include/config/kernel.release 1235# Store (new) KERNELRELEASE string in include/config/kernel.release
1182include/config/kernel.release: FORCE 1236include/config/kernel.release: FORCE
@@ -1222,6 +1276,10 @@ uapi-asm-generic:
1222PHONY += prepare-objtool prepare-resolve_btfids 1276PHONY += prepare-objtool prepare-resolve_btfids
1223prepare-objtool: $(objtool_target) 1277prepare-objtool: $(objtool_target)
1224ifeq ($(SKIP_STACK_VALIDATION),1) 1278ifeq ($(SKIP_STACK_VALIDATION),1)
1279ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
1280 @echo "error: Cannot generate __mcount_loc for CONFIG_DYNAMIC_FTRACE=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
1281 @false
1282endif
1225ifdef CONFIG_UNWINDER_ORC 1283ifdef CONFIG_UNWINDER_ORC
1226 @echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2 1284 @echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
1227 @false 1285 @false
@@ -1242,12 +1300,17 @@ endif
1242# needs to be updated, so this check is forced on all builds 1300# needs to be updated, so this check is forced on all builds
1243 1301
1244uts_len := 64 1302uts_len := 64
1303ifneq (,$(BUILD_NUMBER))
1304 UTS_RELEASE=$(KERNELRELEASE)-ab$(BUILD_NUMBER)
1305else
1306 UTS_RELEASE=$(KERNELRELEASE)
1307endif
1245define filechk_utsrelease.h 1308define filechk_utsrelease.h
1246 if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \ 1309 if [ `echo -n "$(UTS_RELEASE)" | wc -c ` -gt $(uts_len) ]; then \
1247 echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ 1310 echo '"$(UTS_RELEASE)" exceeds $(uts_len) characters' >&2; \
1248 exit 1; \ 1311 exit 1; \
1249 fi; \ 1312 fi; \
1250 echo \#define UTS_RELEASE \"$(KERNELRELEASE)\" 1313 echo \#define UTS_RELEASE \"$(UTS_RELEASE)\"
1251endef 1314endef
1252 1315
1253define filechk_version.h 1316define filechk_version.h
@@ -1268,33 +1331,6 @@ headerdep:
1268 $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \ 1331 $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
1269 $(srctree)/scripts/headerdep.pl -I$(srctree)/include 1332 $(srctree)/scripts/headerdep.pl -I$(srctree)/include
1270 1333
1271# ---------------------------------------------------------------------------
1272# Kernel headers
1273
1274#Default location for installed headers
1275export INSTALL_HDR_PATH = $(objtree)/usr
1276
1277quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
1278 cmd_headers_install = \
1279 mkdir -p $(INSTALL_HDR_PATH); \
1280 rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
1281 usr/include $(INSTALL_HDR_PATH)
1282
1283PHONY += headers_install
1284headers_install: headers
1285 $(call cmd,headers_install)
1286
1287PHONY += archheaders archscripts
1288
1289hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
1290
1291PHONY += headers
1292headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
1293 $(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
1294 $(error Headers not exportable for the $(SRCARCH) architecture))
1295 $(Q)$(MAKE) $(hdr-inst)=include/uapi
1296 $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
1297
1298# Deprecated. It is no-op now. 1334# Deprecated. It is no-op now.
1299PHONY += headers_check 1335PHONY += headers_check
1300headers_check: 1336headers_check:
@@ -1483,7 +1519,7 @@ MRPROPER_FILES += include/config include/generated \
1483 *.spec 1519 *.spec
1484 1520
1485# Directories & files removed with 'make distclean' 1521# Directories & files removed with 'make distclean'
1486DISTCLEAN_FILES += tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS 1522DISTCLEAN_FILES += tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS .thinlto-cache
1487 1523
1488# clean - Delete most, but leave enough to build external modules 1524# clean - Delete most, but leave enough to build external modules
1489# 1525#
@@ -1729,7 +1765,7 @@ PHONY += compile_commands.json
1729 1765
1730clean-dirs := $(KBUILD_EXTMOD) 1766clean-dirs := $(KBUILD_EXTMOD)
1731clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \ 1767clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \
1732 $(KBUILD_EXTMOD)/compile_commands.json 1768 $(KBUILD_EXTMOD)/compile_commands.json $(KBUILD_EXTMOD)/.thinlto-cache
1733 1769
1734PHONY += help 1770PHONY += help
1735help: 1771help:
@@ -1738,6 +1774,8 @@ help:
1738 @echo '' 1774 @echo ''
1739 @echo ' modules - default target, build the module(s)' 1775 @echo ' modules - default target, build the module(s)'
1740 @echo ' modules_install - install the module' 1776 @echo ' modules_install - install the module'
1777 @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
1778 @echo ' (default: $(abspath $(INSTALL_HDR_PATH)))'
1741 @echo ' clean - remove generated files in module directory only' 1779 @echo ' clean - remove generated files in module directory only'
1742 @echo '' 1780 @echo ''
1743 1781
@@ -1826,7 +1864,8 @@ clean: $(clean-dirs)
1826 -o -name '.tmp_*.o.*' \ 1864 -o -name '.tmp_*.o.*' \
1827 -o -name '*.c.[012]*.*' \ 1865 -o -name '*.c.[012]*.*' \
1828 -o -name '*.ll' \ 1866 -o -name '*.ll' \
1829 -o -name '*.gcno' \) -type f -print | xargs rm -f 1867 -o -name '*.gcno' \
1868 -o -name '*.*.symversions' \) -type f -print | xargs rm -f
1830 1869
1831# Generate tags for editors 1870# Generate tags for editors
1832# --------------------------------------------------------------------------- 1871# ---------------------------------------------------------------------------
@@ -1908,7 +1947,8 @@ checkstack:
1908 $(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH) 1947 $(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
1909 1948
1910kernelrelease: 1949kernelrelease:
1911 @echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" 1950 @echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
1951 $(srctree) $(BRANCH) $(KMI_GENERATION))"
1912 1952
1913kernelversion: 1953kernelversion:
1914 @echo $(KERNELVERSION) 1954 @echo $(KERNELVERSION)
diff --git a/README.md b/README.md
new file mode 100644
index 000000000000..468ac2084b21
--- /dev/null
+++ b/README.md
@@ -0,0 +1,150 @@
1# How do I submit patches to Android Common Kernels
2
31. BEST: Make all of your changes to upstream Linux. If appropriate, backport to the stable releases.
4 These patches will be merged automatically in the corresponding common kernels. If the patch is already
5 in upstream Linux, post a backport of the patch that conforms to the patch requirements below.
6 - Do not send patches upstream that contain only symbol exports. To be considered for upstream Linux,
7additions of `EXPORT_SYMBOL_GPL()` require an in-tree modular driver that uses the symbol -- so include
8the new driver or changes to an existing driver in the same patchset as the export.
9 - When sending patches upstream, the commit message must contain a clear case for why the patch
10is needed and beneficial to the community. Enabling out-of-tree drivers or functionality is not
11not a persuasive case.
12
132. LESS GOOD: Develop your patches out-of-tree (from an upstream Linux point-of-view). Unless these are
14 fixing an Android-specific bug, these are very unlikely to be accepted unless they have been
15 coordinated with kernel-team@android.com. If you want to proceed, post a patch that conforms to the
16 patch requirements below.
17
18# Common Kernel patch requirements
19
20- All patches must conform to the Linux kernel coding standards and pass `script/checkpatch.pl`
21- Patches shall not break gki_defconfig or allmodconfig builds for arm, arm64, x86, x86_64 architectures
22(see https://source.android.com/setup/build/building-kernels)
23- If the patch is not merged from an upstream branch, the subject must be tagged with the type of patch:
24`UPSTREAM:`, `BACKPORT:`, `FROMGIT:`, `FROMLIST:`, or `ANDROID:`.
25- All patches must have a `Change-Id:` tag (see https://gerrit-review.googlesource.com/Documentation/user-changeid.html)
26- If an Android bug has been assigned, there must be a `Bug:` tag.
27- All patches must have a `Signed-off-by:` tag by the author and the submitter
28
29Additional requirements are listed below based on patch type
30
31## Requirements for backports from mainline Linux: `UPSTREAM:`, `BACKPORT:`
32
33- If the patch is a cherry-pick from Linux mainline with no changes at all
34 - tag the patch subject with `UPSTREAM:`.
35 - add upstream commit information with a `(cherry picked from commit ...)` line
36 - Example:
37 - if the upstream commit message is
38```
39 important patch from upstream
40
41 This is the detailed description of the important patch
42
43 Signed-off-by: Fred Jones <fred.jones@foo.org>
44```
45>- then Joe Smith would upload the patch for the common kernel as
46```
47 UPSTREAM: important patch from upstream
48
49 This is the detailed description of the important patch
50
51 Signed-off-by: Fred Jones <fred.jones@foo.org>
52
53 Bug: 135791357
54 Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
55 (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
56 Signed-off-by: Joe Smith <joe.smith@foo.org>
57```
58
59- If the patch requires any changes from the upstream version, tag the patch with `BACKPORT:`
60instead of `UPSTREAM:`.
61 - use the same tags as `UPSTREAM:`
62 - add comments about the changes under the `(cherry picked from commit ...)` line
63 - Example:
64```
65 BACKPORT: important patch from upstream
66
67 This is the detailed description of the important patch
68
69 Signed-off-by: Fred Jones <fred.jones@foo.org>
70
71 Bug: 135791357
72 Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
73 (cherry picked from commit c31e73121f4c1ec41143423ac6ce3ce6dafdcec1)
74 [joe: Resolved minor conflict in drivers/foo/bar.c ]
75 Signed-off-by: Joe Smith <joe.smith@foo.org>
76```
77
78## Requirements for other backports: `FROMGIT:`, `FROMLIST:`,
79
80- If the patch has been merged into an upstream maintainer tree, but has not yet
81been merged into Linux mainline
82 - tag the patch subject with `FROMGIT:`
83 - add info on where the patch came from as `(cherry picked from commit <sha1> <repo> <branch>)`. This
84must be a stable maintainer branch (not rebased, so don't use `linux-next` for example).
85 - if changes were required, use `BACKPORT: FROMGIT:`
86 - Example:
87 - if the commit message in the maintainer tree is
88```
89 important patch from upstream
90
91 This is the detailed description of the important patch
92
93 Signed-off-by: Fred Jones <fred.jones@foo.org>
94```
95>- then Joe Smith would upload the patch for the common kernel as
96```
97 FROMGIT: important patch from upstream
98
99 This is the detailed description of the important patch
100
101 Signed-off-by: Fred Jones <fred.jones@foo.org>
102
103 Bug: 135791357
104 (cherry picked from commit 878a2fd9de10b03d11d2f622250285c7e63deace
105 https://git.kernel.org/pub/scm/linux/kernel/git/foo/bar.git test-branch)
106 Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
107 Signed-off-by: Joe Smith <joe.smith@foo.org>
108```
109
110
111- If the patch has been submitted to LKML, but not accepted into any maintainer tree
112 - tag the patch subject with `FROMLIST:`
113 - add a `Link:` tag with a link to the submittal on lore.kernel.org
114 - add a `Bug:` tag with the Android bug (required for patches not accepted into
115a maintainer tree)
116 - if changes were required, use `BACKPORT: FROMLIST:`
117 - Example:
118```
119 FROMLIST: important patch from upstream
120
121 This is the detailed description of the important patch
122
123 Signed-off-by: Fred Jones <fred.jones@foo.org>
124
125 Bug: 135791357
126 Link: https://lore.kernel.org/lkml/20190619171517.GA17557@someone.com/
127 Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
128 Signed-off-by: Joe Smith <joe.smith@foo.org>
129```
130
131## Requirements for Android-specific patches: `ANDROID:`
132
133- If the patch is fixing a bug to Android-specific code
134 - tag the patch subject with `ANDROID:`
135 - add a `Fixes:` tag that cites the patch with the bug
136 - Example:
137```
138 ANDROID: fix android-specific bug in foobar.c
139
140 This is the detailed description of the important fix
141
142 Fixes: 1234abcd2468 ("foobar: add cool feature")
143 Change-Id: I4caaaa566ea080fa148c5e768bb1a0b6f7201c01
144 Signed-off-by: Joe Smith <joe.smith@foo.org>
145```
146
147- If the patch is a new feature
148 - tag the patch subject with `ANDROID:`
149 - add a `Bug:` tag with the Android bug (required for android-specific features)
150
diff --git a/android/abi_gki_aarch64 b/android/abi_gki_aarch64
new file mode 100644
index 000000000000..57914f291962
--- /dev/null
+++ b/android/abi_gki_aarch64
@@ -0,0 +1,4 @@
1[abi_symbol_list]
2# commonly used symbols
3 module_layout
4 __put_task_struct
diff --git a/android/abi_gki_aarch64_cuttlefish b/android/abi_gki_aarch64_cuttlefish
new file mode 100644
index 000000000000..a15b146bd048
--- /dev/null
+++ b/android/abi_gki_aarch64_cuttlefish
@@ -0,0 +1,921 @@
1[abi_symbol_list]
2# commonly used symbols
3 __alloc_disk_node
4 alloc_etherdev_mqs
5 __alloc_pages_nodemask
6 alloc_workqueue
7 __arch_copy_from_user
8 __arch_copy_to_user
9 arm64_const_caps_ready
10 bio_endio
11 blk_cleanup_queue
12 blk_queue_flag_set
13 blk_queue_io_min
14 blk_queue_io_opt
15 blk_queue_logical_block_size
16 blk_queue_max_discard_sectors
17 blk_queue_max_write_zeroes_sectors
18 blk_queue_physical_block_size
19 cancel_delayed_work_sync
20 cancel_work_sync
21 cfg80211_inform_bss_data
22 cfg80211_put_bss
23 __check_object_size
24 __class_create
25 class_destroy
26 complete
27 __const_udelay
28 consume_skb
29 __cpuhp_remove_state
30 __cpuhp_setup_state
31 __cpuhp_state_add_instance
32 __cpuhp_state_remove_instance
33 cpu_hwcap_keys
34 cpu_hwcaps
35 cpumask_next
36 cpu_number
37 __cpu_online_mask
38 crypto_register_alg
39 crypto_register_scomp
40 crypto_unregister_alg
41 crypto_unregister_scomp
42 delayed_work_timer_fn
43 del_gendisk
44 destroy_workqueue
45 _dev_err
46 device_add_disk
47 device_register
48 device_unregister
49 _dev_info
50 __dev_kfree_skb_any
51 devm_kmalloc
52 dev_queue_xmit
53 dev_set_name
54 _dev_warn
55 dma_set_coherent_mask
56 dma_set_mask
57 down_read
58 down_write
59 ethtool_op_get_link
60 eth_validate_addr
61 fd_install
62 finish_wait
63 flush_dcache_page
64 flush_work
65 free_irq
66 free_netdev
67 __free_pages
68 free_pages
69 get_device
70 __get_free_pages
71 get_random_bytes
72 get_unused_fd_flags
73 gic_nonsecure_priorities
74 hwrng_register
75 hwrng_unregister
76 ida_alloc_range
77 ida_free
78 idr_alloc
79 idr_destroy
80 idr_remove
81 __init_rwsem
82 __init_swait_queue_head
83 init_timer_key
84 init_wait_entry
85 __init_waitqueue_head
86 iounmap
87 jiffies
88 kfree
89 kill_anon_super
90 __kmalloc
91 kmalloc_caches
92 kmem_cache_alloc
93 kmem_cache_alloc_trace
94 kmem_cache_create
95 kmem_cache_destroy
96 kmem_cache_free
97 kmemdup
98 kstrdup
99 kstrtoull
100 ktime_get
101 kvfree
102 kvmalloc_node
103 __list_add_valid
104 __list_del_entry_valid
105 __local_bh_enable_ip
106 lzo1x_decompress_safe
107 memcpy
108 memparse
109 memset
110 memstart_addr
111 misc_deregister
112 misc_register
113 mod_timer
114 module_layout
115 msleep
116 __mutex_init
117 mutex_lock
118 mutex_unlock
119 netdev_err
120 netdev_info
121 netdev_rx_handler_register
122 netdev_rx_handler_unregister
123 netdev_upper_dev_unlink
124 netif_carrier_off
125 netif_carrier_on
126 netif_device_detach
127 netif_tx_stop_all_queues
128 netif_tx_wake_queue
129 no_llseek
130 noop_llseek
131 nr_cpu_ids
132 __num_online_cpus
133 param_ops_bool
134 param_ops_charp
135 param_ops_int
136 param_ops_uint
137 passthru_features_check
138 pci_disable_device
139 pci_enable_device
140 pci_iomap
141 pci_read_config_dword
142 __pci_register_driver
143 pci_set_master
144 pci_unregister_driver
145 __per_cpu_offset
146 platform_device_add
147 platform_device_alloc
148 platform_device_del
149 platform_device_put
150 platform_device_unregister
151 __platform_driver_register
152 platform_driver_unregister
153 preempt_schedule
154 preempt_schedule_notrace
155 prepare_to_wait_event
156 printk
157 put_device
158 put_disk
159 __put_page
160 __put_task_struct
161 put_unused_fd
162 queue_delayed_work_on
163 queue_work_on
164 _raw_spin_lock
165 _raw_spin_lock_irq
166 _raw_spin_lock_irqsave
167 _raw_spin_unlock
168 _raw_spin_unlock_bh
169 _raw_spin_unlock_irq
170 _raw_spin_unlock_irqrestore
171 __rcu_read_lock
172 __rcu_read_unlock
173 refcount_warn_saturate
174 register_blkdev
175 register_netdev
176 register_netdevice_notifier
177 register_virtio_device
178 register_virtio_driver
179 request_threaded_irq
180 revalidate_disk_size
181 rtnl_lock
182 rtnl_unlock
183 schedule
184 schedule_timeout_uninterruptible
185 scnprintf
186 seq_lseek
187 seq_printf
188 seq_read
189 sg_init_one
190 sg_init_table
191 snd_device_new
192 snd_pcm_alt_chmaps
193 snprintf
194 sprintf
195 __stack_chk_fail
196 __stack_chk_guard
197 strcmp
198 strcpy
199 strlcpy
200 strlen
201 strncpy
202 strsep
203 strstr
204 __sysfs_match_string
205 system_wq
206 unlock_page
207 unregister_blkdev
208 unregister_netdev
209 unregister_netdevice_notifier
210 unregister_netdevice_queue
211 unregister_virtio_device
212 unregister_virtio_driver
213 up_read
214 up_write
215 usleep_range
216 virtio_check_driver_offered_feature
217 virtio_config_changed
218 virtqueue_add_inbuf
219 virtqueue_add_outbuf
220 virtqueue_add_sgs
221 virtqueue_detach_unused_buf
222 virtqueue_disable_cb
223 virtqueue_enable_cb
224 virtqueue_get_avail_addr
225 virtqueue_get_buf
226 virtqueue_get_desc_addr
227 virtqueue_get_used_addr
228 virtqueue_get_vring_size
229 virtqueue_is_broken
230 virtqueue_kick
231 virtqueue_kick_prepare
232 virtqueue_notify
233 vring_create_virtqueue
234 vring_del_virtqueue
235 vring_interrupt
236 vring_transport_features
237 wait_for_completion
238 __wake_up
239 __warn_printk
240
241# required by ac97_bus.ko
242 bus_register
243 bus_unregister
244
245# required by dm-user.ko
246 bio_advance
247 bio_put
248 _copy_from_iter
249 copy_page_from_iter
250 copy_page_to_iter
251 _copy_to_iter
252 dm_register_target
253 dm_unregister_target
254 kasprintf
255 mempool_alloc
256 mempool_exit
257 mempool_free
258 mempool_init
259 mempool_kfree
260 mempool_kmalloc
261
262# required by dummy-cpufreq.ko
263 cpufreq_generic_attr
264 cpufreq_register_driver
265 cpufreq_unregister_driver
266
267# required by dummy_hcd.ko
268 device_create_file
269 device_remove_file
270 ktime_get_ts64
271 platform_device_add_data
272 sg_miter_next
273 sg_miter_start
274 sg_miter_stop
275 usb_add_gadget_udc
276 usb_add_hcd
277 usb_create_hcd
278 usb_create_shared_hcd
279 usb_del_gadget_udc
280 usb_disabled
281 usb_ep_set_maxpacket_limit
282 usb_gadget_giveback_request
283 usb_gadget_udc_reset
284 usb_get_dev
285 usb_hcd_check_unlink_urb
286 usb_hcd_giveback_urb
287 usb_hcd_is_primary_hcd
288 usb_hcd_link_urb_to_ep
289 usb_hcd_poll_rh_status
290 usb_hcd_resume_root_hub
291 usb_hcd_unlink_urb_from_ep
292 usb_put_dev
293 usb_put_hcd
294 usb_remove_hcd
295
296# required by failover.ko
297 netdev_master_upper_dev_link
298 rtnl_is_locked
299
300# required by gnss-cmdline.ko
301 bus_find_device
302 device_find_child
303 device_match_name
304 platform_bus_type
305
306# required by gnss-serial.ko
307 gnss_allocate_device
308 gnss_deregister_device
309 gnss_insert_raw
310 gnss_put_device
311 gnss_register_device
312 of_property_read_variable_u32_array
313 __pm_runtime_disable
314 pm_runtime_enable
315 __pm_runtime_idle
316 __pm_runtime_resume
317 serdev_device_close
318 serdev_device_open
319 serdev_device_set_baudrate
320 serdev_device_set_flow_control
321 serdev_device_wait_until_sent
322 serdev_device_write
323 serdev_device_write_wakeup
324
325# required by lzo-rle.ko
326 lzorle1x_1_compress
327
328# required by lzo.ko
329 lzo1x_1_compress
330
331# required by nd_virtio.ko
332 bio_alloc_bioset
333 bio_chain
334 bio_clone_blkg_association
335 fs_bio_set
336 submit_bio
337
338# required by net_failover.ko
339 call_netdevice_notifiers
340 dev_close
341 dev_get_stats
342 dev_mc_sync_multiple
343 dev_mc_unsync
344 dev_open
345 dev_set_mtu
346 dev_uc_sync_multiple
347 dev_uc_unsync
348 __ethtool_get_link_ksettings
349 netdev_change_features
350 netdev_increment_features
351 netdev_lower_state_changed
352 netdev_pick_tx
353 pci_bus_type
354
355# required by pulse8-cec.ko
356 cec_allocate_adapter
357 cec_delete_adapter
358 cec_received_msg_ts
359 cec_register_adapter
360 cec_s_log_addrs
361 cec_s_phys_addr
362 cec_transmit_attempt_done_ts
363 cec_unregister_adapter
364 serio_close
365 serio_open
366 __serio_register_driver
367 serio_unregister_driver
368 strscpy
369 wait_for_completion_timeout
370
371# required by rtc-test.ko
372 add_timer
373 del_timer
374 device_init_wakeup
375 devm_rtc_allocate_device
376 ktime_get_real_seconds
377 __rtc_register_device
378 rtc_time64_to_tm
379 rtc_tm_to_time64
380 rtc_update_irq
381
382# required by snd-ac97-codec.ko
383 pci_read_config_word
384 simple_strtoul
385 snd_component_add
386 snd_ctl_add
387 _snd_ctl_add_follower
388 snd_ctl_boolean_mono_info
389 snd_ctl_enum_info
390 snd_ctl_find_id
391 snd_ctl_make_virtual_master
392 snd_ctl_new1
393 snd_ctl_remove_id
394 snd_info_create_card_entry
395 snd_info_free_entry
396 snd_interval_refine
397 snd_pcm_hw_rule_add
398 snd_pcm_std_chmaps
399 strcat
400
401# required by snd-intel8x0.ko
402 param_ops_bint
403 pci_release_regions
404 pci_request_regions
405 pci_write_config_dword
406 snd_card_disconnect
407 snd_card_free
408 snd_card_new
409 snd_card_register
410 snd_card_rw_proc_new
411 snd_dma_alloc_pages
412 snd_dma_free_pages
413 snd_pci_quirk_lookup
414 snd_pcm_add_chmap_ctls
415 snd_pcm_hw_constraint_integer
416 snd_pcm_hw_constraint_list
417 snd_pcm_hw_constraint_msbits
418 snd_pcm_hw_limit_rates
419 snd_pcm_new
420 snd_pcm_period_elapsed
421 snd_pcm_set_managed_buffer_all
422 snd_pcm_set_ops
423
424# required by tpm.ko
425 alloc_chrdev_region
426 cdev_device_add
427 cdev_device_del
428 cdev_init
429 compat_only_sysfs_link_entry_to_kobj
430 del_timer_sync
431 device_initialize
432 devm_add_action
433 efi
434 efi_tpm_final_log_size
435 hash_digest_size
436 idr_get_next
437 idr_replace
438 jiffies_to_msecs
439 jiffies_to_usecs
440 krealloc
441 memchr_inv
442 memremap
443 memunmap
444 of_find_property
445 of_get_property
446 of_property_match_string
447 pm_suspend_global_flags
448 securityfs_create_dir
449 securityfs_create_file
450 securityfs_remove
451 seq_open
452 seq_putc
453 seq_release
454 seq_write
455 sysfs_remove_link
456 unregister_chrdev_region
457 __usecs_to_jiffies
458
459# required by tpm_vtpm_proxy.ko
460 anon_inode_getfile
461 capable
462 compat_ptr_ioctl
463 fput
464
465# required by virt_wifi.ko
466 cfg80211_connect_done
467 cfg80211_disconnected
468 cfg80211_scan_done
469 __dev_get_by_index
470 dev_printk
471 ether_setup
472 kfree_skb
473 ktime_get_with_offset
474 __module_get
475 module_put
476 netdev_upper_dev_link
477 netif_stacked_transfer_operstate
478 register_netdevice
479 rtnl_link_register
480 rtnl_link_unregister
481 skb_clone
482 unregister_netdevice_many
483 wiphy_free
484 wiphy_new_nm
485 wiphy_register
486 wiphy_unregister
487
488# required by virt_wifi_sim.ko
489 ieee80211_get_channel_khz
490 release_firmware
491 request_firmware
492
493# required by virtio-gpu.ko
494 bpf_trace_run2
495 dma_fence_context_alloc
496 dma_fence_init
497 dma_fence_match_context
498 dma_fence_release
499 dma_fence_signal_locked
500 dma_fence_wait_timeout
501 dma_map_sg_attrs
502 dma_resv_add_excl_fence
503 dma_resv_test_signaled_rcu
504 dma_resv_wait_timeout_rcu
505 dma_sync_sg_for_device
506 dma_unmap_sg_attrs
507 drm_add_edid_modes
508 drm_add_modes_noedid
509 drm_atomic_get_crtc_state
510 drm_atomic_helper_check
511 drm_atomic_helper_check_plane_state
512 drm_atomic_helper_commit
513 drm_atomic_helper_connector_destroy_state
514 drm_atomic_helper_connector_duplicate_state
515 drm_atomic_helper_connector_reset
516 drm_atomic_helper_crtc_destroy_state
517 drm_atomic_helper_crtc_duplicate_state
518 drm_atomic_helper_crtc_reset
519 drm_atomic_helper_damage_merged
520 drm_atomic_helper_dirtyfb
521 drm_atomic_helper_disable_plane
522 drm_atomic_helper_page_flip
523 drm_atomic_helper_plane_destroy_state
524 drm_atomic_helper_plane_duplicate_state
525 drm_atomic_helper_plane_reset
526 drm_atomic_helper_set_config
527 drm_atomic_helper_shutdown
528 drm_atomic_helper_update_plane
529 drm_compat_ioctl
530 drm_connector_attach_edid_property
531 drm_connector_attach_encoder
532 drm_connector_cleanup
533 drm_connector_init
534 drm_connector_register
535 drm_connector_unregister
536 drm_connector_update_edid_property
537 drm_crtc_cleanup
538 drm_crtc_init_with_planes
539 drm_cvt_mode
540 __drm_dbg
541 drm_debugfs_create_files
542 drm_dev_alloc
543 drm_dev_enter
544 drm_dev_exit
545 drm_dev_get
546 drm_dev_printk
547 drm_dev_put
548 drm_dev_register
549 drm_dev_set_unique
550 drm_dev_unplug
551 drm_do_get_edid
552 __drm_err
553 drm_framebuffer_init
554 drm_gem_dmabuf_mmap
555 drm_gem_dmabuf_release
556 drm_gem_dmabuf_vmap
557 drm_gem_dmabuf_vunmap
558 drm_gem_fb_create_handle
559 drm_gem_fb_destroy
560 drm_gem_handle_create
561 drm_gem_lock_reservations
562 drm_gem_map_attach
563 drm_gem_map_detach
564 drm_gem_map_dma_buf
565 drm_gem_mmap
566 drm_gem_object_free
567 drm_gem_object_lookup
568 drm_gem_object_release
569 drm_gem_prime_fd_to_handle
570 drm_gem_prime_handle_to_fd
571 drm_gem_prime_import
572 drm_gem_prime_mmap
573 drm_gem_shmem_create
574 drm_gem_shmem_free_object
575 drm_gem_shmem_get_sg_table
576 drm_gem_shmem_mmap
577 drm_gem_shmem_pin
578 drm_gem_shmem_print_info
579 drm_gem_shmem_unpin
580 drm_gem_shmem_vmap
581 drm_gem_shmem_vunmap
582 drm_gem_unlock_reservations
583 drm_gem_unmap_dma_buf
584 drm_helper_hpd_irq_event
585 drm_helper_mode_fill_fb_struct
586 drm_helper_probe_single_connector_modes
587 drm_ioctl
588 drm_kms_helper_hotplug_event
589 drmm_mode_config_init
590 drm_mode_config_reset
591 drm_mode_probed_add
592 drm_open
593 drm_plane_cleanup
594 drm_poll
595 drm_read
596 drm_release
597 drm_set_preferred_mode
598 drm_simple_encoder_init
599 drm_universal_plane_init
600 event_triggers_call
601 __get_task_comm
602 is_vmalloc_addr
603 kmalloc_order_trace
604 perf_trace_buf_alloc
605 perf_trace_run_bpf_submit
606 ___ratelimit
607 schedule_timeout
608 sg_alloc_table
609 sg_free_table
610 sg_next
611 sync_file_create
612 sync_file_get_fence
613 trace_event_buffer_commit
614 trace_event_buffer_reserve
615 trace_event_ignore_this_pid
616 trace_event_raw_init
617 trace_event_reg
618 trace_handle_return
619 __traceiter_dma_fence_emit
620 __tracepoint_dma_fence_emit
621 trace_raw_output_prep
622 trace_seq_printf
623 vabits_actual
624 vmalloc_to_page
625 vmemdup_user
626 ww_mutex_lock_interruptible
627 ww_mutex_unlock
628
629# required by virtio-rng.ko
630 wait_for_completion_killable
631
632# required by virtio_blk.ko
633 blk_execute_rq
634 blk_get_request
635 blk_mq_alloc_tag_set
636 blk_mq_complete_request
637 blk_mq_end_request
638 blk_mq_free_tag_set
639 blk_mq_init_queue
640 blk_mq_quiesce_queue
641 blk_mq_start_request
642 blk_mq_start_stopped_hw_queues
643 blk_mq_stop_hw_queue
644 blk_mq_unquiesce_queue
645 blk_mq_virtio_map_queues
646 blk_put_request
647 blk_queue_alignment_offset
648 blk_queue_max_discard_segments
649 blk_queue_max_hw_sectors
650 blk_queue_max_segments
651 blk_queue_max_segment_size
652 blk_queue_write_cache
653 blk_rq_map_kern
654 __blk_rq_map_sg
655 blk_status_to_errno
656 _dev_notice
657 memmove
658 set_capacity_revalidate_and_notify
659 set_disk_ro
660 string_get_size
661 virtio_max_dma_size
662
663# required by virtio_console.ko
664 cdev_add
665 cdev_alloc
666 cdev_del
667 debugfs_create_dir
668 debugfs_create_file
669 debugfs_remove
670 device_create
671 device_destroy
672 dma_alloc_attrs
673 dma_free_attrs
674 fasync_helper
675 freezing_slow_path
676 hvc_alloc
677 hvc_instantiate
678 hvc_kick
679 hvc_poll
680 hvc_remove
681 __hvc_resize
682 kill_fasync
683 kobject_uevent
684 nonseekable_open
685 pipe_lock
686 pipe_unlock
687 __refrigerator
688 __register_chrdev
689 single_open
690 single_release
691 __splice_from_pipe
692 sysfs_create_group
693 sysfs_remove_group
694 system_freezing_cnt
695 __unregister_chrdev
696
697# required by virtio_dma_buf.ko
698 dma_buf_export
699
700# required by virtio_input.ko
701 input_alloc_absinfo
702 input_allocate_device
703 input_event
704 input_free_device
705 input_mt_init_slots
706 input_register_device
707 input_set_abs_params
708 input_unregister_device
709
710# required by virtio_mmio.ko
711 device_for_each_child
712 devm_kfree
713 devm_platform_ioremap_resource
714 platform_device_register_full
715 platform_get_irq
716 sscanf
717
718# required by virtio_net.ko
719 __alloc_skb
720 bpf_dispatcher_xdp_func
721 bpf_prog_add
722 bpf_prog_put
723 bpf_prog_sub
724 bpf_stats_enabled_key
725 bpf_warn_invalid_xdp_action
726 build_skb
727 cpumask_next_wrap
728 cpus_read_lock
729 cpus_read_unlock
730 eth_commit_mac_addr_change
731 eth_prepare_mac_addr_change
732 ethtool_op_get_ts_info
733 ethtool_virtdev_set_link_ksettings
734 eth_type_trans
735 flow_keys_basic_dissector
736 __napi_alloc_skb
737 napi_complete_done
738 napi_consume_skb
739 napi_disable
740 napi_gro_receive
741 __napi_schedule
742 napi_schedule_prep
743 netdev_notify_peers
744 netdev_warn
745 netif_device_attach
746 netif_napi_add
747 __netif_napi_del
748 netif_schedule_queue
749 netif_set_real_num_rx_queues
750 netif_set_real_num_tx_queues
751 __netif_set_xps_queue
752 net_ratelimit
753 nf_conntrack_destroy
754 _raw_spin_trylock
755 sched_clock
756 skb_add_rx_frag
757 skb_coalesce_rx_frag
758 __skb_flow_dissect
759 skb_page_frag_refill
760 skb_partial_csum_set
761 skb_put
762 skb_to_sgvec
763 skb_tstamp_tx
764 softnet_data
765 synchronize_net
766 __traceiter_xdp_exception
767 __tracepoint_xdp_exception
768 virtqueue_add_inbuf_ctx
769 virtqueue_enable_cb_delayed
770 virtqueue_enable_cb_prepare
771 virtqueue_get_buf_ctx
772 virtqueue_poll
773 xdp_convert_zc_to_xdp_frame
774 xdp_do_flush
775 xdp_do_redirect
776 xdp_return_frame
777 xdp_return_frame_rx_napi
778 xdp_rxq_info_reg
779 xdp_rxq_info_reg_mem_model
780 xdp_rxq_info_unreg
781 xdp_warn
782
783# required by virtio_pci.ko
784 irq_set_affinity_hint
785 pci_alloc_irq_vectors_affinity
786 pci_find_capability
787 pci_find_ext_capability
788 pci_find_next_capability
789 pci_free_irq_vectors
790 pci_iomap_range
791 pci_irq_get_affinity
792 pci_irq_vector
793 pci_read_config_byte
794 pci_release_region
795 pci_release_selected_regions
796 pci_request_region
797 pci_request_selected_regions
798 synchronize_irq
799 virtio_device_freeze
800 virtio_device_restore
801
802# required by virtio_pmem.ko
803 nvdimm_bus_register
804 nvdimm_bus_unregister
805 nvdimm_pmem_region_create
806
807# required by virtiofs.ko
808 deactivate_locked_super
809 flush_delayed_work
810 __fs_parse
811 fuse_conn_destroy
812 fuse_conn_init
813 fuse_dequeue_forget
814 fuse_dev_alloc
815 fuse_dev_free
816 fuse_dev_install
817 fuse_fill_super_common
818 fuse_free_conn
819 fuse_get_unique
820 fuse_len_args
821 fuse_mount_get
822 fuse_mount_put
823 fuse_mount_remove
824 fuse_request_end
825 fuse_send_init
826 get_anon_bdev
827 init_user_ns
828 lockref_get
829 memchr
830 register_filesystem
831 sget_fc
832 unregister_filesystem
833
834# required by vmw_vsock_virtio_transport.ko
835 lock_sock_nested
836 mutex_lock_interruptible
837 _raw_spin_lock_bh
838 release_sock
839 synchronize_rcu
840 virtio_transport_connect
841 virtio_transport_deliver_tap_pkt
842 virtio_transport_destruct
843 virtio_transport_dgram_allow
844 virtio_transport_dgram_bind
845 virtio_transport_dgram_dequeue
846 virtio_transport_dgram_enqueue
847 virtio_transport_do_socket_init
848 virtio_transport_free_pkt
849 virtio_transport_notify_buffer_size
850 virtio_transport_notify_poll_in
851 virtio_transport_notify_poll_out
852 virtio_transport_notify_recv_init
853 virtio_transport_notify_recv_post_dequeue
854 virtio_transport_notify_recv_pre_block
855 virtio_transport_notify_recv_pre_dequeue
856 virtio_transport_notify_send_init
857 virtio_transport_notify_send_post_enqueue
858 virtio_transport_notify_send_pre_block
859 virtio_transport_notify_send_pre_enqueue
860 virtio_transport_recv_pkt
861 virtio_transport_release
862 virtio_transport_shutdown
863 virtio_transport_stream_allow
864 virtio_transport_stream_dequeue
865 virtio_transport_stream_enqueue
866 virtio_transport_stream_has_data
867 virtio_transport_stream_has_space
868 virtio_transport_stream_is_active
869 virtio_transport_stream_rcvhiwat
870 vsock_core_register
871 vsock_core_unregister
872 vsock_for_each_connected_socket
873
874# required by zram.ko
875 __alloc_percpu
876 bdget_disk
877 bdput
878 blk_alloc_queue
879 blk_queue_flag_clear
880 __class_register
881 class_unregister
882 __cpu_possible_mask
883 crypto_alloc_base
884 crypto_comp_compress
885 crypto_comp_decompress
886 crypto_destroy_tfm
887 crypto_has_alg
888 disk_end_io_acct
889 disk_start_io_acct
890 free_percpu
891 fsync_bdev
892 idr_find
893 idr_for_each
894 kstrtoint
895 kstrtou16
896 memset64
897 mutex_is_locked
898 page_endio
899 sysfs_streq
900 vfree
901 vzalloc
902
903# required by zsmalloc.ko
904 alloc_anon_inode
905 __ClearPageMovable
906 contig_page_data
907 dec_zone_page_state
908 inc_zone_page_state
909 init_pseudo
910 iput
911 kern_mount
912 kern_unmount
913 __lock_page
914 page_mapping
915 _raw_read_lock
916 _raw_read_unlock
917 _raw_write_lock
918 _raw_write_unlock
919 register_shrinker
920 __SetPageMovable
921 unregister_shrinker
diff --git a/android/abi_gki_aarch64_db845c b/android/abi_gki_aarch64_db845c
new file mode 100644
index 000000000000..a3d34cc445f1
--- /dev/null
+++ b/android/abi_gki_aarch64_db845c
@@ -0,0 +1,1729 @@
1[abi_symbol_list]
2# commonly used symbols
3 add_uevent_var
4 alloc_io_pgtable_ops
5 alloc_workqueue
6 __arch_copy_from_user
7 __arch_copy_to_user
8 arm64_const_caps_ready
9 arm64_use_ng_mappings
10 blocking_notifier_call_chain
11 blocking_notifier_chain_register
12 blocking_notifier_chain_unregister
13 bpf_trace_run1
14 bpf_trace_run2
15 bpf_trace_run3
16 bpf_trace_run4
17 bpf_trace_run5
18 bus_register
19 bus_unregister
20 cancel_delayed_work_sync
21 cancel_work_sync
22 capable
23 cdev_device_add
24 cdev_device_del
25 cdev_init
26 __check_object_size
27 clk_bulk_disable
28 clk_bulk_enable
29 clk_bulk_prepare
30 clk_bulk_unprepare
31 clk_disable
32 clk_enable
33 clk_fixed_rate_ops
34 clk_get
35 __clk_get_name
36 clk_get_rate
37 clk_hw_get_parent
38 clk_hw_get_rate
39 clk_hw_register
40 clk_hw_unregister
41 clk_prepare
42 clk_put
43 clk_round_rate
44 clk_set_rate
45 clk_sync_state
46 clk_unprepare
47 complete
48 complete_all
49 completion_done
50 __const_udelay
51 consume_skb
52 _copy_from_iter_full
53 cpu_hwcap_keys
54 cpu_hwcaps
55 cpumask_next
56 cpu_number
57 __cpu_online_mask
58 crc32_le
59 debugfs_create_dir
60 debugfs_create_file
61 debugfs_create_u32
62 debugfs_create_x32
63 debugfs_remove
64 default_llseek
65 delayed_work_timer_fn
66 del_timer_sync
67 destroy_workqueue
68 dev_coredumpv
69 dev_driver_string
70 _dev_err
71 dev_err_probe
72 dev_get_regmap
73 device_find_child
74 device_for_each_child
75 device_get_match_data
76 device_initialize
77 device_init_wakeup
78 device_property_present
79 device_property_read_u32_array
80 device_register
81 device_set_wakeup_capable
82 device_unregister
83 device_wakeup_enable
84 _dev_info
85 __dev_kfree_skb_any
86 devm_add_action
87 devm_clk_bulk_get
88 devm_clk_bulk_get_all
89 devm_clk_get
90 devm_clk_get_optional
91 devm_clk_hw_register
92 devm_free_irq
93 devm_gpiod_get
94 devm_gpiod_get_optional
95 devm_ioremap
96 devm_ioremap_resource
97 devm_ioremap_wc
98 devm_iounmap
99 devm_kasprintf
100 devm_kfree
101 devm_kmalloc
102 devm_memremap
103 devm_of_clk_add_hw_provider
104 devm_of_icc_get
105 __devm_of_phy_provider_register
106 devm_of_platform_populate
107 devm_phy_create
108 devm_phy_get
109 devm_pinctrl_register
110 devm_platform_ioremap_resource
111 devm_regmap_add_irq_chip
112 __devm_regmap_init
113 __devm_regmap_init_i2c
114 __devm_regmap_init_mmio_clk
115 devm_regulator_bulk_get
116 devm_regulator_get
117 devm_regulator_register
118 devm_request_threaded_irq
119 devm_reset_control_array_get
120 __devm_reset_control_get
121 devm_reset_controller_register
122 devm_snd_soc_register_component
123 __devm_spi_alloc_controller
124 devm_spi_register_controller
125 devm_watchdog_register_device
126 _dev_notice
127 dev_pm_domain_attach_by_name
128 dev_pm_domain_detach
129 dev_pm_genpd_set_performance_state
130 dev_pm_opp_add
131 dev_pm_opp_find_freq_ceil
132 dev_pm_opp_find_freq_exact
133 dev_pm_opp_get_level
134 dev_pm_opp_get_opp_count
135 dev_pm_opp_of_add_table
136 dev_pm_opp_of_find_icc_paths
137 dev_pm_opp_of_remove_table
138 dev_pm_opp_put
139 dev_pm_opp_put_clkname
140 dev_pm_opp_set_bw
141 dev_pm_opp_set_clkname
142 dev_pm_opp_set_rate
143 dev_set_name
144 _dev_warn
145 disable_irq
146 disable_irq_nosync
147 divider_get_val
148 divider_recalc_rate
149 divider_round_rate_parent
150 dma_alloc_attrs
151 dma_buf_export
152 dma_free_attrs
153 dmam_alloc_attrs
154 dma_map_page_attrs
155 dma_map_sg_attrs
156 dma_mmap_attrs
157 dma_release_channel
158 dma_request_chan
159 dma_set_coherent_mask
160 dma_set_mask
161 dma_sync_single_for_cpu
162 dma_sync_single_for_device
163 dma_unmap_page_attrs
164 dma_unmap_sg_attrs
165 do_SAK
166 driver_register
167 driver_unregister
168 drm_add_edid_modes
169 drm_atomic_helper_connector_destroy_state
170 drm_atomic_helper_connector_duplicate_state
171 drm_atomic_helper_connector_reset
172 drm_connector_attach_encoder
173 drm_connector_cleanup
174 drm_connector_init
175 drm_connector_update_edid_property
176 __drm_err
177 drm_hdmi_avi_infoframe_from_display_mode
178 drm_helper_probe_single_connector_modes
179 drm_mode_vrefresh
180 enable_irq
181 eth_platform_get_mac_address
182 eth_validate_addr
183 event_triggers_call
184 extcon_get_edev_by_phandle
185 extcon_get_state
186 extcon_register_notifier
187 extcon_unregister_notifier
188 find_next_bit
189 find_next_zero_bit
190 finish_wait
191 flush_workqueue
192 free_io_pgtable_ops
193 free_irq
194 generic_handle_irq
195 generic_mii_ioctl
196 get_device
197 get_random_bytes
198 gic_nonsecure_priorities
199 gpiochip_add_data_with_key
200 gpiochip_add_pin_range
201 gpiochip_generic_free
202 gpiochip_generic_request
203 gpiochip_get_data
204 gpiochip_remove
205 gpiod_direction_output
206 gpiod_direction_output_raw
207 gpiod_set_consumer_name
208 gpiod_set_raw_value
209 gpiod_set_value_cansleep
210 gpio_to_desc
211 handle_edge_irq
212 handle_level_irq
213 handle_nested_irq
214 handle_sysrq
215 hdmi_audio_infoframe_init
216 i2c_adapter_type
217 i2c_add_adapter
218 i2c_add_numbered_adapter
219 i2c_del_adapter
220 i2c_del_driver
221 i2c_parse_fw_timings
222 i2c_register_driver
223 __i2c_smbus_xfer
224 i2c_smbus_xfer
225 i2c_transfer
226 icc_disable
227 icc_enable
228 icc_link_create
229 icc_node_add
230 icc_node_create
231 icc_nodes_remove
232 icc_provider_add
233 icc_provider_del
234 icc_put
235 icc_set_bw
236 icc_sync_state
237 ida_alloc_range
238 ida_free
239 idr_alloc
240 idr_alloc_cyclic
241 idr_destroy
242 idr_find
243 idr_get_next
244 idr_remove
245 ieee80211_get_channel_khz
246 init_net
247 __init_swait_queue_head
248 init_timer_key
249 init_wait_entry
250 __init_waitqueue_head
251 iommu_attach_device
252 iommu_detach_device
253 iommu_domain_alloc
254 iommu_domain_free
255 iommu_present
256 iommu_unmap
257 __ioread32_copy
258 __ioremap
259 iounmap
260 __iowrite32_copy
261 irq_chip_disable_parent
262 irq_chip_enable_parent
263 irq_chip_eoi_parent
264 irq_chip_mask_parent
265 irq_chip_set_affinity_parent
266 irq_chip_set_parent_state
267 irq_chip_set_type_parent
268 irq_chip_set_vcpu_affinity_parent
269 irq_chip_set_wake_parent
270 irq_chip_unmask_parent
271 __irq_domain_add
272 irq_domain_free_irqs_common
273 irq_domain_remove
274 irq_domain_xlate_twocell
275 irq_find_mapping
276 irq_find_matching_fwspec
277 irq_modify_status
278 irq_of_parse_and_map
279 irq_set_chained_handler_and_data
280 irq_set_chip_and_handler_name
281 irq_set_chip_data
282 irq_set_irq_wake
283 irq_to_desc
284 is_vmalloc_addr
285 jiffies
286 kasprintf
287 kernel_connect
288 kernel_getsockname
289 kernel_recvmsg
290 kernel_sendmsg
291 kfree
292 kfree_const
293 kfree_skb
294 __kmalloc
295 kmalloc_caches
296 kmalloc_order_trace
297 kmem_cache_alloc_trace
298 kmemdup
299 kstrdup
300 kstrdup_const
301 kstrtoint
302 kstrtouint
303 ktime_get
304 ktime_get_mono_fast_ns
305 ktime_get_real_ts64
306 __list_add_valid
307 __list_del_entry_valid
308 mbox_client_txdone
309 mbox_free_channel
310 mbox_request_channel
311 mbox_send_message
312 memcpy
313 __memcpy_fromio
314 __memcpy_toio
315 memmove
316 memremap
317 memset
318 memstart_addr
319 mii_ethtool_gset
320 mii_nway_restart
321 misc_deregister
322 misc_register
323 mod_timer
324 module_layout
325 __msecs_to_jiffies
326 msleep
327 __mutex_init
328 mutex_is_locked
329 mutex_lock
330 mutex_unlock
331 napi_complete_done
332 napi_disable
333 __napi_schedule
334 napi_schedule_prep
335 __netdev_alloc_skb
336 netdev_err
337 netdev_info
338 netdev_warn
339 netif_napi_add
340 __netif_napi_del
341 no_llseek
342 nr_cpu_ids
343 nvmem_cell_read
344 of_address_to_resource
345 of_alias_get_id
346 of_clk_add_hw_provider
347 of_clk_del_provider
348 of_clk_get
349 of_clk_hw_simple_get
350 of_clk_set_defaults
351 of_device_get_match_data
352 of_device_is_compatible
353 of_device_uevent_modalias
354 of_dma_configure_id
355 of_find_device_by_node
356 of_find_property
357 of_fwnode_ops
358 of_genpd_add_provider_onecell
359 of_genpd_del_provider
360 of_get_child_by_name
361 of_get_compatible_child
362 of_get_named_gpio_flags
363 of_get_next_available_child
364 of_get_next_child
365 of_get_property
366 of_get_regulator_init_data
367 of_graph_get_remote_node
368 of_graph_parse_endpoint
369 of_icc_get
370 of_icc_xlate_onecell
371 of_iomap
372 of_irq_find_parent
373 of_irq_get
374 of_irq_get_byname
375 of_match_device
376 of_match_node
377 of_node_name_eq
378 of_parse_phandle
379 of_parse_phandle_with_args
380 of_parse_phandle_with_fixed_args
381 of_phy_simple_xlate
382 of_platform_depopulate
383 of_platform_populate
384 of_property_count_elems_of_size
385 of_property_read_string
386 of_property_read_string_helper
387 of_property_read_u32_index
388 of_property_read_variable_u32_array
389 of_property_read_variable_u8_array
390 of_reserved_mem_lookup
391 param_ops_bool
392 param_ops_uint
393 __pci_register_driver
394 pci_unregister_driver
395 perf_trace_buf_alloc
396 perf_trace_run_bpf_submit
397 phy_exit
398 phy_init
399 phy_power_off
400 phy_power_on
401 phy_set_mode_ext
402 pinconf_generic_dt_node_to_map
403 pinctrl_dev_get_drvdata
404 pinctrl_pm_select_default_state
405 pinctrl_pm_select_sleep_state
406 pinctrl_utils_free_map
407 platform_bus_type
408 platform_device_add
409 platform_device_add_properties
410 platform_device_add_resources
411 platform_device_alloc
412 platform_device_put
413 platform_device_register_full
414 platform_device_unregister
415 __platform_driver_register
416 platform_driver_unregister
417 platform_get_irq
418 platform_get_irq_byname
419 platform_get_irq_optional
420 platform_get_resource
421 platform_get_resource_byname
422 pm_genpd_add_subdomain
423 pm_genpd_init
424 pm_runtime_allow
425 __pm_runtime_disable
426 pm_runtime_enable
427 pm_runtime_forbid
428 pm_runtime_force_resume
429 pm_runtime_force_suspend
430 __pm_runtime_idle
431 __pm_runtime_resume
432 pm_runtime_set_autosuspend_delay
433 __pm_runtime_set_status
434 __pm_runtime_suspend
435 __pm_runtime_use_autosuspend
436 preempt_schedule_notrace
437 prepare_to_wait_event
438 printk
439 pskb_expand_head
440 put_device
441 __put_task_struct
442 qcom_smem_state_register
443 qcom_smem_state_unregister
444 queue_delayed_work_on
445 queue_work_on
446 radix_tree_delete
447 radix_tree_insert
448 radix_tree_lookup
449 radix_tree_next_chunk
450 ___ratelimit
451 rational_best_approximation
452 _raw_spin_lock
453 _raw_spin_lock_bh
454 _raw_spin_lock_irq
455 _raw_spin_lock_irqsave
456 _raw_spin_trylock
457 _raw_spin_unlock
458 _raw_spin_unlock_bh
459 _raw_spin_unlock_irq
460 _raw_spin_unlock_irqrestore
461 __rcu_read_lock
462 __rcu_read_unlock
463 rdev_get_drvdata
464 refcount_warn_saturate
465 regcache_cache_only
466 regcache_mark_dirty
467 regcache_sync
468 register_reboot_notifier
469 __register_rpmsg_driver
470 regmap_bulk_read
471 regmap_bulk_write
472 __regmap_init
473 regmap_irq_get_virq
474 regmap_multi_reg_write
475 regmap_read
476 regmap_register_patch
477 regmap_update_bits_base
478 regmap_write
479 regulator_bulk_disable
480 regulator_bulk_enable
481 regulator_bulk_get
482 regulator_disable
483 regulator_enable
484 regulator_set_load
485 regulator_set_voltage
486 release_firmware
487 remap_pfn_range
488 request_firmware
489 request_firmware_direct
490 request_firmware_into_buf
491 request_threaded_irq
492 reset_control_assert
493 reset_control_deassert
494 reset_control_reset
495 rpmsg_register_device
496 rpmsg_send
497 rpmsg_unregister_device
498 rproc_add
499 rproc_add_subdev
500 rproc_alloc
501 rproc_coredump_set_elf_info
502 rproc_del
503 rproc_free
504 rproc_remove_subdev
505 schedule
506 schedule_timeout
507 scnprintf
508 seq_lseek
509 seq_printf
510 seq_putc
511 seq_puts
512 seq_read
513 sg_alloc_table
514 sg_free_table
515 sg_init_table
516 sg_next
517 __sg_page_iter_start
518 simple_read_from_buffer
519 single_open
520 single_release
521 skb_clone
522 skb_dequeue
523 skb_pull
524 skb_push
525 skb_put
526 skb_queue_purge
527 skb_queue_tail
528 skb_trim
529 snd_pcm_format_width
530 snd_soc_component_init_regmap
531 snd_soc_component_read
532 snd_soc_component_update_bits
533 snd_soc_component_write
534 snd_soc_dapm_add_routes
535 snd_soc_dapm_get_enum_double
536 snd_soc_dapm_get_volsw
537 snd_soc_dapm_kcontrol_dapm
538 snd_soc_dapm_kcontrol_widget
539 snd_soc_dapm_mixer_update_power
540 snd_soc_dapm_mux_update_power
541 snd_soc_dapm_put_enum_double
542 snd_soc_dapm_put_volsw
543 snd_soc_get_enum_double
544 snd_soc_get_volsw
545 snd_soc_info_enum_double
546 snd_soc_info_volsw
547 snd_soc_jack_report
548 snd_soc_put_enum_double
549 snd_soc_put_volsw
550 snprintf
551 sock_create_kern
552 sock_release
553 sort
554 __spi_alloc_controller
555 spi_controller_resume
556 spi_controller_suspend
557 spi_finalize_current_transfer
558 spi_register_controller
559 spi_unregister_controller
560 sprintf
561 sscanf
562 __stack_chk_fail
563 __stack_chk_guard
564 strcmp
565 strcpy
566 strlcpy
567 strlen
568 strncmp
569 strncpy
570 strpbrk
571 strsep
572 __sw_hweight32
573 __sw_hweight64
574 synchronize_irq
575 synchronize_net
576 syscon_node_to_regmap
577 syscon_regmap_lookup_by_phandle
578 sysfs_create_link
579 sysfs_remove_link
580 sysrq_mask
581 system_wq
582 __tasklet_schedule
583 thermal_cooling_device_unregister
584 trace_event_buffer_commit
585 trace_event_buffer_reserve
586 trace_event_ignore_this_pid
587 trace_event_raw_init
588 trace_event_reg
589 trace_handle_return
590 trace_raw_output_prep
591 trace_seq_printf
592 tty_flip_buffer_push
593 __tty_insert_flip_char
594 uart_add_one_port
595 uart_get_baud_rate
596 uart_register_driver
597 uart_remove_one_port
598 uart_resume_port
599 uart_suspend_port
600 uart_try_toggle_sysrq
601 uart_unregister_driver
602 uart_update_timeout
603 uart_write_wakeup
604 __udelay
605 unregister_chrdev_region
606 unregister_reboot_notifier
607 unregister_rpmsg_driver
608 usb_debug_root
609 usb_deregister
610 usb_disabled
611 usb_get_dr_mode
612 usb_get_maximum_speed
613 usbnet_disconnect
614 usbnet_get_endpoints
615 usbnet_get_msglevel
616 usbnet_get_stats64
617 usbnet_link_change
618 usbnet_nway_reset
619 usbnet_open
620 usbnet_probe
621 usbnet_read_cmd
622 usbnet_read_cmd_nopm
623 usbnet_resume
624 usbnet_set_msglevel
625 usbnet_skb_return
626 usbnet_start_xmit
627 usbnet_stop
628 usbnet_suspend
629 usbnet_tx_timeout
630 usbnet_update_max_qlen
631 usbnet_write_cmd
632 usbnet_write_cmd_async
633 usbnet_write_cmd_nopm
634 usb_register_driver
635 usleep_range
636 vabits_actual
637 vfree
638 vmalloc
639 vmap
640 vunmap
641 wait_for_completion_timeout
642 __wake_up
643 __warn_printk
644 watchdog_init_timeout
645
646# required by apr.ko
647 rpmsg_trysend
648
649# required by arm_smmu.ko
650 amba_bustype
651 bus_set_iommu
652 device_link_add
653 device_match_fwnode
654 driver_find_device
655 generic_device_group
656 generic_iommu_put_resv_regions
657 iommu_alloc_resv_region
658 iommu_device_register
659 iommu_device_sysfs_add
660 iommu_device_sysfs_remove
661 iommu_device_unregister
662 iommu_dma_get_resv_regions
663 iommu_fwspec_add_ids
664 iommu_fwspec_free
665 iommu_get_dma_cookie
666 iommu_group_ref_get
667 iommu_put_dma_cookie
668 of_dma_is_coherent
669 param_ops_int
670 pci_bus_type
671 pci_device_group
672
673# required by asix.ko
674 eth_mac_addr
675 genphy_resume
676 mdiobus_alloc_size
677 mdiobus_free
678 __mdiobus_register
679 mdiobus_unregister
680 mii_check_media
681 mii_link_ok
682 phy_connect
683 phy_disconnect
684 phy_do_ioctl_running
685 phy_ethtool_get_link_ksettings
686 phy_ethtool_nway_reset
687 phy_ethtool_set_link_ksettings
688 phy_print_status
689 phy_start
690 phy_stop
691 skb_copy_expand
692 usbnet_change_mtu
693 usbnet_get_drvinfo
694 usbnet_get_link
695 usbnet_get_link_ksettings
696 usbnet_set_link_ksettings
697 usbnet_unlink_rx_urbs
698
699# required by ath.ko
700 freq_reg_info
701 reg_initiator_name
702 wiphy_apply_custom_regulatory
703
704# required by ath10k_core.ko
705 bcmp
706 cancel_delayed_work
707 cfg80211_calculate_bitrate
708 cfg80211_find_elem_match
709 cfg80211_find_vendor_elem
710 cfg80211_get_bss
711 cfg80211_put_bss
712 cpu_latency_qos_add_request
713 cpu_latency_qos_remove_request
714 device_get_mac_address
715 device_set_wakeup_enable
716 firmware_request_nowarn
717 guid_gen
718 idr_for_each
719 ieee80211_alloc_hw_nm
720 ieee80211_beacon_cntdwn_is_complete
721 ieee80211_beacon_get_template
722 ieee80211_beacon_get_tim
723 iee