Commit Graph

1054502 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
7be3754601 Revert "PCI: Reduce warnings on possible RW1C corruption"
This reverts commit e37d269734.

It breaks the kernel abi so revert it for now.  We will add it back
later at the next kabi update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib838120a97e202ad9c407552bbc978030a9a43b3
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
5cc70dfa47 Revert "fbdev: Hot-unplug firmware fb devices on forced removal"
This reverts commit c894ac4478.

It breaks the kernel abi so revert it for now.  We will add it back
later at the next kabi update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3ea6942053c06dac9e05d6a05081e404e10324eb
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
240526f655 Revert "scsi: core: sd: Add silence_suspend flag to suppress some PM messages"
This reverts commit 6ade94e6af.

It breaks the kernel abi so revert it for now.  We will add it back
later at the next kabi update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9e57e6afc592d6a275585e6d0503a2e3ca5ec0c2
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
ab02bc73ec Revert "scsi: ufs: Fix runtime PM messages never-ending cycle"
This reverts commit 64b0fe4808.

It breaks the kernel abi so revert it for now.  We will add it back
later at the next kabi update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7319d8ed31cd6b7cb2e3e48b70b15b6109ac53fb
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
990e8bd6d9 Revert "ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock"
This reverts commit 7777744e92.

It breaks the kernel abi so revert it for now.  We will add it back
later at the next kabi update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I09fe568c08e50679adf930aadb79a8544789af81
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
93d8bbeafb ANDROID: GKI: fix crc issue with commit 2e76c69c85 ("block: don't merge across cgroup boundaries if blkcg is enabled")
Commit 2e76c69c85 ("block: don't merge across cgroup boundaries if
blkcg is enabled") added some new #include lines, which messes with the
crc signatures of over 1400 different functions.  Fix this up by marking
this off with a __GENKSYMS__ entry.  The abi has not changed, only the
crc generation, and this change preserves it.

Bug: 161946584
Fixes: 2e76c69c85 ("block: don't merge across cgroup boundaries if blkcg is enabled")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id4e79ea9f4edbf41b0ada4df964490ab336dd8f4
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
12089b6db8 ANDROID: remove CONFIG_HW_RANDOM_CAVIUM from arm64 gki_defconfig
This is not needed to be specified in the gki_defconfig file anymore as
the dependancies are properly fixed up in 5.15.33

Fixes: 046f1499ae ("hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4affa0465e47119df2e83b78aec2c50ba25ed926
2022-04-20 08:19:54 +02:00
Greg Kroah-Hartman
b41a37c036 Merge 5.15.33 into android13-5.15
Changes in 5.15.33
	Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
	USB: serial: pl2303: add IBM device IDs
	dt-bindings: usb: hcd: correct usb-device path
	USB: serial: pl2303: fix GS type detection
	USB: serial: simple: add Nokia phone driver
	mm: kfence: fix missing objcg housekeeping for SLAB
	hv: utils: add PTP_1588_CLOCK to Kconfig to fix build
	HID: logitech-dj: add new lightspeed receiver id
	HID: Add support for open wheel and no attachment to T300
	xfrm: fix tunnel model fragmentation behavior
	ARM: mstar: Select HAVE_ARM_ARCH_TIMER
	virtio_console: break out of buf poll on remove
	vdpa/mlx5: should verify CTRL_VQ feature exists for MQ
	tools/virtio: fix virtio_test execution
	ethernet: sun: Free the coherent when failing in probing
	gpio: Revert regression in sysfs-gpio (gpiolib.c)
	spi: Fix invalid sgs value
	net:mcf8390: Use platform_get_irq() to get the interrupt
	Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"
	spi: Fix erroneous sgs value with min_t()
	Input: zinitix - do not report shadow fingers
	af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
	net: dsa: microchip: add spi_device_id tables
	selftests: vm: fix clang build error multiple output files
	locking/lockdep: Avoid potential access of invalid memory in lock_class
	drm/amdgpu: move PX checking into amdgpu_device_ip_early_init
	drm/amdgpu: only check for _PR3 on dGPUs
	iommu/iova: Improve 32-bit free space estimate
	virtio-blk: Use blk_validate_block_size() to validate block size
	tpm: fix reference counting for struct tpm_chip
	usb: typec: tipd: Forward plug orientation to typec subsystem
	USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
	xhci: fix garbage USBSTS being logged in some cases
	xhci: fix runtime PM imbalance in USB2 resume
	xhci: make xhci_handshake timeout for xhci_reset() adjustable
	xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()
	mei: me: disable driver on the ign firmware
	mei: me: add Alder Lake N device id.
	mei: avoid iterator usage outside of list_for_each_entry
	bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series
	bus: mhi: Fix MHI DMA structure endianness
	docs: sphinx/requirements: Limit jinja2<3.1
	coresight: Fix TRCCONFIGR.QE sysfs interface
	coresight: syscfg: Fix memleak on registration failure in cscfg_create_device
	iio: afe: rescale: use s64 for temporary scale calculations
	iio: inkern: apply consumer scale on IIO_VAL_INT cases
	iio: inkern: apply consumer scale when no channel scale is available
	iio: inkern: make a best effort on offset calculation
	greybus: svc: fix an error handling bug in gb_svc_hello()
	clk: rockchip: re-add rational best approximation algorithm to the fractional divider
	clk: uniphier: Fix fixed-rate initialization
	ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
	cifs: fix handlecache and multiuser
	cifs: we do not need a spinlock around the tree access during umount
	KEYS: fix length validation in keyctl_pkey_params_get_2()
	KEYS: asymmetric: enforce that sig algo matches key algo
	KEYS: asymmetric: properly validate hash_algo and encoding
	Documentation: add link to stable release candidate tree
	Documentation: update stable tree link
	firmware: stratix10-svc: add missing callback parameter on RSU
	firmware: sysfb: fix platform-device leak in error path
	HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
	SUNRPC: avoid race between mod_timer() and del_timer_sync()
	NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR
	NFSD: prevent underflow in nfssvc_decode_writeargs()
	NFSD: prevent integer overflow on 32 bit systems
	f2fs: fix to unlock page correctly in error path of is_alive()
	f2fs: quota: fix loop condition at f2fs_quota_sync()
	f2fs: fix to do sanity check on .cp_pack_total_block_count
	remoteproc: Fix count check in rproc_coredump_write()
	mm/mlock: fix two bugs in user_shm_lock()
	pinctrl: ingenic: Fix regmap on X series SoCs
	pinctrl: samsung: drop pin banks references on error paths
	net: bnxt_ptp: fix compilation error
	spi: mxic: Fix the transmit path
	mtd: rawnand: protect access to rawnand devices while in suspend
	can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
	can: m_can: m_can_tx_handler(): fix use after free of skb
	can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
	jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
	jffs2: fix memory leak in jffs2_do_mount_fs
	jffs2: fix memory leak in jffs2_scan_medium
	mm: fs: fix lru_cache_disabled race in bh_lru
	mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
	mm: invalidate hwpoison page cache page in fault path
	mempolicy: mbind_range() set_policy() after vma_merge()
	scsi: core: sd: Add silence_suspend flag to suppress some PM messages
	scsi: ufs: Fix runtime PM messages never-ending cycle
	scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters
	scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
	qed: display VF trust config
	qed: validate and restrict untrusted VFs vlan promisc mode
	riscv: dts: canaan: Fix SPI3 bus width
	riscv: Fix fill_callchain return value
	riscv: Increase stack size under KASAN
	Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
	cifs: prevent bad output lengths in smb2_ioctl_query_info()
	cifs: fix NULL ptr dereference in smb2_ioctl_query_info()
	ALSA: cs4236: fix an incorrect NULL check on list iterator
	ALSA: hda: Avoid unsol event during RPM suspending
	ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock
	ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
	rtc: mc146818-lib: fix locking in mc146818_set_time
	rtc: pl031: fix rtc features null pointer dereference
	ocfs2: fix crash when mount with quota enabled
	drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD panels
	mm: madvise: skip unmapped vma holes passed to process_madvise
	mm: madvise: return correct bytes advised with process_madvise
	Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"
	mm,hwpoison: unmap poisoned page before invalidation
	mm/kmemleak: reset tag when compare object pointer
	dm stats: fix too short end duration_ns when using precise_timestamps
	dm: fix use-after-free in dm_cleanup_zoned_dev()
	dm: interlock pending dm_io and dm_wait_for_bios_completion
	dm: fix double accounting of flush with data
	dm integrity: set journal entry unused when shrinking device
	tracing: Have trace event string test handle zero length strings
	drbd: fix potential silent data corruption
	powerpc/kvm: Fix kvm_use_magic_page
	PCI: fu740: Force 2.5GT/s for initial device probe
	arm64: signal: nofpsimd: Do not allocate fp/simd context when not available
	arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones
	arm64: dts: qcom: sm8250: Fix MSI IRQ for PCIe1 and PCIe2
	arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
	arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
	arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
	arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs
	ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM
	Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag"
	ACPI: properties: Consistently return -ENOENT if there are no more references
	coredump: Also dump first pages of non-executable ELF libraries
	ext4: fix ext4_fc_stats trace point
	ext4: fix fs corruption when tring to remove a non-empty directory with IO error
	ext4: make mb_optimize_scan performance mount option work with extents
	drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
	samples/landlock: Fix path_list memory leak
	landlock: Use square brackets around "landlock-ruleset"
	mailbox: tegra-hsp: Flush whole channel
	block: limit request dispatch loop duration
	block: don't merge across cgroup boundaries if blkcg is enabled
	drm/edid: check basic audio support on CEA extension block
	fbdev: Hot-unplug firmware fb devices on forced removal
	video: fbdev: sm712fb: Fix crash in smtcfb_read()
	video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
	rfkill: make new event layout opt-in
	ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes
	ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
	ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5420
	mgag200 fix memmapsl configuration in GCTL6 register
	carl9170: fix missing bit-wise or operator for tx_params
	pstore: Don't use semaphores in always-atomic-context code
	thermal: int340x: Increase bitmap size
	lib/raid6/test: fix multiple definition linking error
	exec: Force single empty string when argv is empty
	crypto: rsa-pkcs1pad - only allow with rsa
	crypto: rsa-pkcs1pad - correctly get hash from source scatterlist
	crypto: rsa-pkcs1pad - restore signature length check
	crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()
	bcache: fixup multiple threads crash
	PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove()
	DEC: Limit PMAX memory probing to R3k systems
	media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC
	media: venus: hfi_cmds: List HDR10 property as unsupported for v1 and v3
	media: venus: venc: Fix h264 8x8 transform control
	media: davinci: vpif: fix unbalanced runtime PM get
	media: davinci: vpif: fix unbalanced runtime PM enable
	btrfs: zoned: mark relocation as writing
	btrfs: extend locking to all space_info members accesses
	btrfs: verify the tranisd of the to-be-written dirty extent buffer
	xtensa: define update_mmu_tlb function
	xtensa: fix stop_machine_cpuslocked call in patch_text
	xtensa: fix xtensa_wsr always writing 0
	drm/syncobj: flatten dma_fence_chains on transfer
	drm/nouveau/backlight: Fix LVDS backlight detection on some laptops
	drm/nouveau/backlight: Just set all backlight types as RAW
	drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB
	brcmfmac: firmware: Allocate space for default boardrev in nvram
	brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path
	brcmfmac: pcie: Declare missing firmware files in pcie.c
	brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
	brcmfmac: pcie: Fix crashes due to early IRQs
	drm/i915/opregion: check port number bounds for SWSCI display power state
	drm/i915/gem: add missing boundary check in vm_access
	PCI: imx6: Allow to probe when dw_pcie_wait_for_link() fails
	PCI: pciehp: Clear cmd_busy bit in polling mode
	PCI: xgene: Revert "PCI: xgene: Fix IB window setup"
	regulator: qcom_smd: fix for_each_child.cocci warnings
	selinux: access superblock_security_struct in LSM blob way
	selinux: check return value of sel_make_avc_files
	crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked()
	hwrng: cavium - Check health status while reading random data
	hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER
	crypto: sun8i-ss - really disable hash on A80
	crypto: authenc - Fix sleep in atomic context in decrypt_tail
	crypto: mxs-dcp - Fix scatterlist processing
	selinux: Fix selinux_sb_mnt_opts_compat()
	thermal: int340x: Check for NULL after calling kmemdup()
	crypto: octeontx2 - remove CONFIG_DM_CRYPT check
	spi: tegra114: Add missing IRQ check in tegra_spi_probe
	spi: tegra210-quad: Fix missin IRQ check in tegra_qspi_probe
	stack: Constrain and fix stack offset randomization with Clang builds
	arm64/mm: avoid fixmap race condition when create pud mapping
	blk-cgroup: set blkg iostat after percpu stat aggregation
	selftests/x86: Add validity check and allow field splitting
	selftests/sgx: Treat CC as one argument
	crypto: rockchip - ECB does not need IV
	audit: log AUDIT_TIME_* records only from rules
	EVM: fix the evm= __setup handler return value
	crypto: ccree - don't attempt 0 len DMA mappings
	crypto: hisilicon/sec - fix the aead software fallback for engine
	spi: pxa2xx-pci: Balance reference count for PCI DMA device
	hwmon: (pmbus) Add mutex to regulator ops
	hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
	nvme: cleanup __nvme_check_ids
	nvme: fix the check for duplicate unique identifiers
	block: don't delete queue kobject before its children
	PM: hibernate: fix __setup handler error handling
	PM: suspend: fix return value of __setup handler
	spi: spi-zynqmp-gqspi: Handle error for dma_set_mask
	hwrng: atmel - disable trng on failure path
	crypto: sun8i-ss - call finalize with bh disabled
	crypto: sun8i-ce - call finalize with bh disabled
	crypto: amlogic - call finalize with bh disabled
	crypto: gemini - call finalize with bh disabled
	crypto: vmx - add missing dependencies
	clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix
	clocksource/drivers/exynos_mct: Refactor resources allocation
	clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts
	clocksource/drivers/timer-microchip-pit64b: Use notrace
	clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
	arm64: prevent instrumentation of bp hardening callbacks
	KEYS: trusted: Fix trusted key backends when building as module
	KEYS: trusted: Avoid calling null function trusted_key_exit
	ACPI: APEI: fix return value of __setup handlers
	crypto: ccp - ccp_dmaengine_unregister release dma channels
	crypto: ccree - Fix use after free in cc_cipher_exit()
	hwrng: nomadik - Change clk_disable to clk_disable_unprepare
	hwmon: (pmbus) Add Vin unit off handling
	clocksource: acpi_pm: fix return value of __setup handler
	io_uring: don't check unrelated req->open.how in accept request
	io_uring: terminate manual loop iterator loop correctly for non-vecs
	watch_queue: Fix NULL dereference in error cleanup
	watch_queue: Actually free the watch
	f2fs: fix to enable ATGC correctly via gc_idle sysfs interface
	sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
	sched/core: Export pelt_thermal_tp
	sched/uclamp: Fix iowait boost escaping uclamp restriction
	rseq: Remove broken uapi field layout on 32-bit little endian
	perf/core: Fix address filter parser for multiple filters
	perf/x86/intel/pt: Fix address filter config for 32-bit kernel
	sched/fair: Improve consistency of allowed NUMA balance calculations
	f2fs: fix missing free nid in f2fs_handle_failed_inode
	nfsd: more robust allocation failure handling in nfsd_file_cache_init
	sched/cpuacct: Fix charge percpu cpuusage
	sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race
	f2fs: fix to avoid potential deadlock
	btrfs: fix unexpected error path when reflinking an inline extent
	f2fs: fix compressed file start atomic write may cause data corruption
	selftests, x86: fix how check_cc.sh is being invoked
	drivers/base/memory: add memory block to memory group after registration succeeded
	kunit: make kunit_test_timeout compatible with comment
	pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios
	media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size
	media: camss: csid-170: fix non-10bit formats
	media: camss: csid-170: don't enable unused irqs
	media: camss: csid-170: set the right HALT_CMD when disabled
	media: camss: vfe-170: fix "VFE halt timeout" error
	media: staging: media: imx: imx7-mipi-csis: Make subdev name unique
	media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
	media: mtk-vcodec: potential dereference of null pointer
	media: imx: imx8mq-mipi-csi2: remove wrong irq config write operation
	media: imx: imx8mq-mipi_csi2: fix system resume
	media: bttv: fix WARNING regression on tunerless devices
	media: atmel: atmel-sama7g5-isc: fix ispck leftover
	ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively
	ASoC: codecs: Check for error pointer after calling devm_regmap_init_mmio
	ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting
	ASoC: simple-card-utils: Set sysclk on all components
	media: coda: Fix missing put_device() call in coda_get_vdoa_data
	media: meson: vdec: potential dereference of null pointer
	media: hantro: Fix overfill bottom register field name
	media: ov6650: Fix set format try processing path
	media: v4l: Avoid unaligned access warnings when printing 4cc modifiers
	media: ov5648: Don't pack controls struct
	media: aspeed: Correct value for h-total-pixels
	video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen
	video: fbdev: controlfb: Fix COMPILE_TEST build
	video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
	video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()
	video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
	ARM: dts: Fix OpenBMC flash layout label addresses
	firmware: qcom: scm: Remove reassignment to desc following initializer
	ARM: dts: qcom: ipq4019: fix sleep clock
	soc: qcom: rpmpd: Check for null return of devm_kcalloc
	soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem
	soc: qcom: aoss: remove spurious IRQF_ONESHOT flags
	arm64: dts: qcom: sdm845: fix microphone bias properties and values
	arm64: dts: qcom: sm8250: fix PCIe bindings to follow schema
	arm64: dts: broadcom: bcm4908: use proper TWD binding
	arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc
	arm64: dts: qcom: sm8350: Correct TCS configuration for apps rsc
	firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
	soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
	ARM: dts: sun8i: v3s: Move the csi1 block to follow address order
	vsprintf: Fix potential unaligned access
	ARM: dts: imx: Add missing LVDS decoder on M53Menlo
	media: mexon-ge2d: fixup frames size in registers
	media: video/hdmi: handle short reads of hdmi info frame.
	media: ti-vpe: cal: Fix a NULL pointer dereference in cal_ctx_v4l2_init_formats()
	media: em28xx: initialize refcount before kref_get
	media: usb: go7007: s2250-board: fix leak in probe()
	media: cedrus: H265: Fix neighbour info buffer size
	media: cedrus: h264: Fix neighbour info buffer size
	ASoC: codecs: rx-macro: fix accessing compander for aux
	ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type
	ASoC: codecs: va-macro: fix accessing array out of bounds for enum type
	ASoC: codecs: wc938x: fix accessing array out of bounds for enum type
	ASoC: codecs: wcd938x: fix kcontrol max values
	ASoC: codecs: wcd934x: fix kcontrol max values
	ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put
	media: v4l2-core: Initialize h264 scaling matrix
	media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated
	selftests/lkdtm: Add UBSAN config
	lib: uninline simple_strntoull() as well
	vsprintf: Fix %pK with kptr_restrict == 0
	uaccess: fix nios2 and microblaze get_user_8()
	ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
	soc: mediatek: pm-domains: Add wakeup capacity support in power domain
	mmc: sdhci_am654: Fix the driver data of AM64 SoC
	ASoC: ti: davinci-i2s: Add check for clk_enable()
	ALSA: spi: Add check for clk_enable()
	arm64: dts: ns2: Fix spi-cpol and spi-cpha property
	arm64: dts: broadcom: Fix sata nodename
	printk: fix return value of printk.devkmsg __setup handler
	ASoC: mxs-saif: Handle errors for clk_enable
	ASoC: atmel_ssc_dai: Handle errors for clk_enable
	ASoC: dwc-i2s: Handle errors for clk_enable
	ASoC: soc-compress: prevent the potentially use of null pointer
	memory: emif: Add check for setup_interrupts
	memory: emif: check the pointer temp in get_device_details()
	ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
	arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
	m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined
	media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
	media: vidtv: Check for null return of vzalloc
	ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
	ASoC: wm8350: Handle error for wm8350_register_irq
	ASoC: fsi: Add check for clk_enable
	video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
	media: saa7134: fix incorrect use to determine if list is empty
	ivtv: fix incorrect device_caps for ivtvfb
	ASoC: atmel: Fix error handling in snd_proto_probe
	ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe
	ASoC: SOF: Add missing of_node_put() in imx8m_probe
	ASoC: mediatek: use of_device_get_match_data()
	ASoC: mediatek: mt8192-mt6359: Fix error handling in mt8192_mt6359_dev_probe
	ASoC: rk817: Fix missing clk_disable_unprepare() in rk817_platform_probe
	ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
	ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
	ASoC: fsl_spdif: Disable TX clock when stop
	ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
	ASoC: SOF: Intel: enable DMI L1 for playback streams
	ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
	mmc: davinci_mmc: Handle error for clk_enable
	ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe
	ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe
	ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data
	ASoC: amd: Fix reference to PCM buffer address
	ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS
	ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx
	drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops
	drm/meson: Make use of the helper function devm_platform_ioremap_resourcexxx()
	drm/meson: split out encoder from meson_dw_hdmi
	drm/meson: Fix error handling when afbcd.ops->init fails
	drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
	drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe
	drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe
	drm: bridge: adv7511: Fix ADV7535 HPD enablement
	ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
	drm/v3d/v3d_drv: Check for error num after setting mask
	drm/panfrost: Check for error num after setting mask
	libbpf: Fix possible NULL pointer dereference when destroying skeleton
	bpftool: Only set obj->skeleton on complete success
	udmabuf: validate ubuf->pagecount
	bpf: Fix UAF due to race between btf_try_get_module and load_module
	drm/selftests/test-drm_dp_mst_helper: Fix memory leak in sideband_msg_req_encode_decode
	selftests: bpf: Fix bind on used port
	Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products
	Bluetooth: hci_serdev: call init_rwsem() before p->open()
	mtd: onenand: Check for error irq
	mtd: rawnand: gpmi: fix controller timings setting
	drm/edid: Don't clear formats if using deep color
	drm/edid: Split deep color modes between RGB and YUV444
	ionic: fix type complaint in ionic_dev_cmd_clean()
	ionic: start watchdog after all is setup
	ionic: Don't send reset commands if FW isn't running
	drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl()
	drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
	drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function
	net: phy: at803x: move page selection fix to config_init
	selftests/bpf: Normalize XDP section names in selftests
	selftests/bpf/test_xdp_redirect_multi: use temp netns for testing
	ath9k_htc: fix uninit value bugs
	RDMA/core: Set MR type in ib_reg_user_mr
	KVM: PPC: Fix vmx/vsx mixup in mmio emulation
	selftests/net: timestamping: Fix bind_phc check
	i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
	i40e: respect metadata on XSK Rx to skb
	igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
	ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly
	ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
	ixgbe: respect metadata on XSK Rx to skb
	power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
	ray_cs: Check ioremap return value
	powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch
	KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init
	powerpc/perf: Don't use perf_hw_context for trace IMC PMU
	mt76: connac: fix sta_rec_wtbl tag len
	mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode
	mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv
	mt76: mt7921: fix a leftover race in runtime-pm
	mt76: mt7615: fix a leftover race in runtime-pm
	mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update
	mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
	ptp: unregister virtual clocks when unregistering physical clock.
	net: dsa: mv88e6xxx: Enable port policy support on 6097
	mac80211: Remove a couple of obsolete TODO
	mac80211: limit bandwidth in HE capabilities
	scripts/dtc: Call pkg-config POSIXly correct
	livepatch: Fix build failure on 32 bits processors
	net: asix: add proper error handling of usb read errors
	i2c: bcm2835: Use platform_get_irq() to get the interrupt
	i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()'
	mtd: mchp23k256: Add SPI ID table
	mtd: mchp48l640: Add SPI ID table
	igc: avoid kernel warning when changing RX ring parameters
	igb: refactor XDP registration
	PCI: aardvark: Fix reading MSI interrupt number
	PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
	RDMA/rxe: Check the last packet by RXE_END_MASK
	libbpf: Fix signedness bug in btf_dump_array_data()
	cxl/core: Fix cxl_probe_component_regs() error message
	cxl/regs: Fix size of CXL Capability Header Register
	net:enetc: allocate CBD ring data memory using DMA coherent methods
	libbpf: Fix compilation warning due to mismatched printf format
	drm/bridge: dw-hdmi: use safe format when first in bridge chain
	libbpf: Use dynamically allocated buffer when receiving netlink messages
	power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
	HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
	iommu/ipmmu-vmsa: Check for error num after setting mask
	drm/bridge: anx7625: Fix overflow issue on reading EDID
	bpftool: Fix the error when lookup in no-btf maps
	drm/amd/pm: enable pm sysfs write for one VF mode
	drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug
	libbpf: Fix memleak in libbpf_netlink_recv()
	IB/cma: Allow XRC INI QPs to set their local ACK timeout
	dax: make sure inodes are flushed before destroy cache
	selftests: mptcp: add csum mib check for mptcp_connect
	iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta
	iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req
	iwlwifi: mvm: align locking in D3 test debugfs
	iwlwifi: yoyo: remove DBGI_SRAM address reset writing
	iwlwifi: Fix -EIO error code that is never returned
	iwlwifi: mvm: Fix an error code in iwl_mvm_up()
	mtd: rawnand: pl353: Set the nand chip node as the flash node
	drm/msm/dp: populate connector of struct dp_panel
	drm/msm/dp: stop link training after link training 2 failed
	drm/msm/dp: always add fail-safe mode into connector mode list
	drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent
	drm/msm/dsi/phy: fix 7nm v4.0 settings for C-PHY mode
	drm/msm/dpu: add DSPP blocks teardown
	drm/msm/dpu: fix dp audio condition
	dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
	vfio/pci: fix memory leak during D3hot to D0 transition
	vfio/pci: wake-up devices around reset functions
	scsi: fnic: Fix a tracing statement
	scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
	scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
	scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
	scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()
	scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()
	scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()
	scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()
	scsi: pm8001: Fix NCQ NON DATA command task initialization
	scsi: pm8001: Fix NCQ NON DATA command completion handling
	scsi: pm8001: Fix abort all task initialization
	RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR
	drm/amd/display: Remove vupdate_int_entry definition
	TOMOYO: fix __setup handlers return values
	power: supply: sbs-charger: Don't cancel work that is not initialized
	ext2: correct max file size computing
	drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
	power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
	scsi: hisi_sas: Change permission of parameter prot_mask
	drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
	bpf, arm64: Call build_prologue() first in first JIT pass
	bpf, arm64: Feed byte-offset into bpf line info
	xsk: Fix race at socket teardown
	RDMA/irdma: Fix netdev notifications for vlan's
	RDMA/irdma: Fix Passthrough mode in VM
	RDMA/irdma: Remove incorrect masking of PD
	gpu: host1x: Fix a memory leak in 'host1x_remove()'
	libbpf: Skip forward declaration when counting duplicated type names
	powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()
	powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
	KVM: x86: Fix emulation in writing cr8
	KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
	hv_balloon: rate-limit "Unhandled message" warning
	i2c: xiic: Make bus names unique
	power: supply: wm8350-power: Handle error for wm8350_register_irq
	power: supply: wm8350-power: Add missing free in free_charger_irq
	IB/hfi1: Allow larger MTU without AIP
	RDMA/core: Fix ib_qp_usecnt_dec() called when error
	PCI: Reduce warnings on possible RW1C corruption
	net: axienet: fix RX ring refill allocation failure handling
	drm/msm/a6xx: Fix missing ARRAY_SIZE() check
	mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
	MIPS: Sanitise Cavium switch cases in TLB handler synthesizers
	powerpc/sysdev: fix incorrect use to determine if list is empty
	powerpc/64s: Don't use DSISR for SLB faults
	mfd: mc13xxx: Add check for mc13xxx_irq_request
	libbpf: Unmap rings when umem deleted
	selftests/bpf: Make test_lwt_ip_encap more stable and faster
	platform/x86: huawei-wmi: check the return value of device_create_file()
	scsi: mpt3sas: Fix incorrect 4GB boundary check
	powerpc: 8xx: fix a return value error in mpc8xx_pic_init
	vxcan: enable local echo for sent CAN frames
	ath10k: Fix error handling in ath10k_setup_msa_resources
	mips: cdmm: Fix refcount leak in mips_cdmm_phys_base
	MIPS: RB532: fix return value of __setup handler
	MIPS: pgalloc: fix memory leak caused by pgd_free()
	mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
	power: ab8500_chargalg: Use CLOCK_MONOTONIC
	RDMA/irdma: Prevent some integer underflows
	Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error"
	RDMA/mlx5: Fix memory leak in error flow for subscribe event routine
	bpf, sockmap: Fix memleak in sk_psock_queue_msg
	bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full
	bpf, sockmap: Fix more uncharged while msg has more_data
	bpf, sockmap: Fix double uncharge the mem of sk_msg
	samples/bpf, xdpsock: Fix race when running for fix duration of time
	USB: storage: ums-realtek: fix error code in rts51x_read_mem()
	drm/i915/display: Fix HPD short pulse handling for eDP
	netfilter: flowtable: Fix QinQ and pppoe support for inet table
	mt76: mt7921: fix mt7921_queues_acq implementation
	can: isotp: sanitize CAN ID checks in isotp_bind()
	can: isotp: return -EADDRNOTAVAIL when reading from unbound socket
	can: isotp: support MSG_TRUNC flag when reading from socket
	bareudp: use ipv6_mod_enabled to check if IPv6 enabled
	ibmvnic: fix race between xmit and reset
	af_unix: Fix some data-races around unix_sk(sk)->oob_skb.
	selftests/bpf: Fix error reporting from sock_fields programs
	Bluetooth: hci_uart: add missing NULL check in h5_enqueue
	Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed
	Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
	ipv4: Fix route lookups when handling ICMP redirects and PMTU updates
	af_netlink: Fix shift out of bounds in group mask calculation
	i2c: meson: Fix wrong speed use from probe
	netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned()
	i2c: mux: demux-pinctrl: do not deactivate a master that is not active
	powerpc/pseries: Fix use after free in remove_phb_dynamic()
	selftests/bpf/test_lirc_mode2.sh: Exit with proper code
	PCI: Avoid broken MSI on SB600 USB devices
	net: bcmgenet: Use stronger register read/writes to assure ordering
	tcp: ensure PMTU updates are processed during fastopen
	openvswitch: always update flow key after nat
	net: dsa: fix panic on shutdown if multi-chip tree failed to probe
	tipc: fix the timer expires after interval 100ms
	mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
	ice: fix 'scheduling while atomic' on aux critical err interrupt
	ice: don't allow to run ice_send_event_to_aux() in atomic ctx
	drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool
	kernel/resource: fix kfree() of bootmem memory again
	staging: r8188eu: convert DBG_88E_LEVEL call in hal/rtl8188e_hal_init.c
	staging: r8188eu: release_firmware is not called if allocation fails
	mxser: fix xmit_buf leak in activate when LSR == 0xff
	fsi: scom: Fix error handling
	fsi: scom: Remove retries in indirect scoms
	pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
	pps: clients: gpio: Propagate return value from pps_gpio_probe
	fsi: Aspeed: Fix a potential double free
	misc: alcor_pci: Fix an error handling path
	cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse
	soundwire: intel: fix wrong register name in intel_shim_wake
	clk: qcom: ipq8074: fix PCI-E clock oops
	dmaengine: idxd: check GENCAP config support for gencfg register
	dmaengine: idxd: change bandwidth token to read buffers
	dmaengine: idxd: restore traffic class defaults after wq reset
	iio: mma8452: Fix probe failing when an i2c_device_id is used
	serial: 8250_aspeed_vuart: add PORT_ASPEED_VUART port type
	staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
	pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
	pinctrl: renesas: checker: Fix miscalculation of number of states
	clk: qcom: ipq8074: Use floor ops for SDCC1 clock
	phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
	phy: phy-brcm-usb: fixup BCM4908 support
	serial: 8250_mid: Balance reference count for PCI DMA device
	serial: 8250_lpss: Balance reference count for PCI DMA device
	NFS: Use of mapping_set_error() results in spurious errors
	serial: 8250: Fix race condition in RTS-after-send handling
	iio: adc: Add check for devm_request_threaded_irq
	habanalabs: Add check for pci_enable_device
	NFS: Return valid errors from nfs2/3_decode_dirent()
	staging: r8188eu: fix endless loop in recv_func
	dma-debug: fix return value of __setup handlers
	clk: imx7d: Remove audio_mclk_root_clk
	clk: imx: off by one in imx_lpcg_parse_clks_from_dt()
	clk: at91: sama7g5: fix parents of PDMCs' GCLK
	clk: qcom: clk-rcg2: Update logic to calculate D value for RCG
	clk: qcom: clk-rcg2: Update the frac table for pixel clock
	dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma
	remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region
	remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
	remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region
	nvdimm/region: Fix default alignment for small regions
	clk: actions: Terminate clk_div_table with sentinel element
	clk: loongson1: Terminate clk_div_table with sentinel element
	clk: hisilicon: Terminate clk_div_table with sentinel element
	clk: clps711x: Terminate clk_div_table with sentinel element
	clk: Fix clk_hw_get_clk() when dev is NULL
	clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
	mailbox: imx: fix crash in resume on i.mx8ulp
	NFS: remove unneeded check in decode_devicenotify_args()
	staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree
	staging: mt7621-dts: fix formatting
	staging: mt7621-dts: fix pinctrl properties for ethernet
	staging: mt7621-dts: fix GB-PC2 devicetree
	pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
	pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback
	pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()
	pinctrl: mediatek: paris: Fix pingroup pin config state readback
	pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs
	pinctrl: microchip sgpio: use reset driver
	pinctrl: microchip-sgpio: lock RMW access
	pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
	pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
	tty: hvc: fix return value of __setup handler
	kgdboc: fix return value of __setup handler
	serial: 8250: fix XOFF/XON sending when DMA is used
	virt: acrn: obtain pa from VMA with PFNMAP flag
	virt: acrn: fix a memory leak in acrn_dev_ioctl()
	kgdbts: fix return value of __setup handler
	firmware: google: Properly state IOMEM dependency
	driver core: dd: fix return value of __setup handler
	jfs: fix divide error in dbNextAG
	netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
	SUNRPC don't resend a task on an offlined transport
	NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error
	kdb: Fix the putarea helper function
	perf stat: Fix forked applications enablement of counters
	clk: qcom: gcc-msm8994: Fix gpll4 width
	vsock/virtio: initialize vdev->priv before using VQs
	vsock/virtio: read the negotiated features before using VQs
	vsock/virtio: enable VQs early on probe
	clk: Initialize orphan req_rate
	xen: fix is_xen_pmu()
	net: enetc: report software timestamping via SO_TIMESTAMPING
	net: hns3: fix bug when PF set the duplicate MAC address for VFs
	net: hns3: fix port base vlan add fail when concurrent with reset
	net: hns3: add vlan list lock to protect vlan list
	net: hns3: format the output of the MAC address
	net: hns3: refine the process when PF set VF VLAN
	net: phy: broadcom: Fix brcm_fet_config_init()
	selftests: test_vxlan_under_vrf: Fix broken test case
	NFS: Don't loop forever in nfs_do_recoalesce()
	net: hns3: clean residual vf config after disable sriov
	net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL
	qlcnic: dcb: default to returning -EOPNOTSUPP
	net/x25: Fix null-ptr-deref caused by x25_disconnect
	net: sparx5: switchdev: fix possible NULL pointer dereference
	octeontx2-af: initialize action variable
	net: prefer nf_ct_put instead of nf_conntrack_put
	net/sched: act_ct: fix ref leak when switching zones
	NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
	net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
	fs: fd tables have to be multiples of BITS_PER_LONG
	lib/test: use after free in register_test_dev_kmod()
	fs: fix fd table size alignment properly
	LSM: general protection fault in legacy_parse_param
	regulator: rpi-panel: Handle I2C errors/timing to the Atmel
	crypto: hisilicon/qm - cleanup warning in qm_vf_read_qos
	gcc-plugins/stackleak: Exactly match strings instead of prefixes
	pinctrl: npcm: Fix broken references to chip->parent_device
	rcu: Mark writes to the rcu_segcblist structure's ->flags field
	block/bfq_wf2q: correct weight to ioprio
	crypto: xts - Add softdep on ecb
	crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3
	block, bfq: don't move oom_bfqq
	selinux: use correct type for context length
	arm64: module: remove (NOLOAD) from linker script
	selinux: allow FIOCLEX and FIONCLEX with policy capability
	loop: use sysfs_emit() in the sysfs xxx show()
	Fix incorrect type in assignment of ipv6 port for audit
	irqchip/qcom-pdc: Fix broken locking
	irqchip/nvic: Release nvic_base upon failure
	fs/binfmt_elf: Fix AT_PHDR for unusual ELF files
	bfq: fix use-after-free in bfq_dispatch_request
	ACPICA: Avoid walking the ACPI Namespace if it is not there
	lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
	Revert "Revert "block, bfq: honor already-setup queue merges""
	ACPI/APEI: Limit printable size of BERT table data
	PM: core: keep irq flags in device_pm_check_callbacks()
	parisc: Fix handling off probe non-access faults
	nvme-tcp: lockdep: annotate in-kernel sockets
	spi: tegra20: Use of_device_get_match_data()
	atomics: Fix atomic64_{read_acquire,set_release} fallbacks
	locking/lockdep: Iterate lock_classes directly when reading lockdep files
	ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb
	ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit
	sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE
	ext4: don't BUG if someone dirty pages without asking ext4 first
	f2fs: fix to do sanity check on curseg->alloc_type
	NFSD: Fix nfsd_breaker_owns_lease() return values
	f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs
	btrfs: harden identification of a stale device
	btrfs: make search_csum_tree return 0 if we get -EFBIG
	f2fs: use spin_lock to avoid hang
	f2fs: compress: fix to print raw data size in error path of lz4 decompression
	Adjust cifssb maximum read size
	ntfs: add sanity check on allocation size
	media: staging: media: zoran: move videodev alloc
	media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com
	media: staging: media: zoran: fix various V4L2 compliance errors
	media: atmel: atmel-isc-base: report frame sizes as full supported range
	media: ir_toy: free before error exiting
	ASoC: sh: rz-ssi: Make the data structures available before registering the handlers
	ASoC: SOF: Intel: match sdw version on link_slaves_found
	media: imx-jpeg: Prevent decoding NV12M jpegs into single-planar buffers
	media: iommu/mediatek-v1: Free the existed fwspec if the master dev already has
	media: iommu/mediatek: Return ENODEV if the device is NULL
	media: iommu/mediatek: Add device_link between the consumer and the larb devices
	video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
	video: fbdev: w100fb: Reset global state
	video: fbdev: cirrusfb: check pixclock to avoid divide by zero
	video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
	ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
	ARM: dts: bcm2837: Add the missing L1/L2 cache information
	ASoC: madera: Add dependencies on MFD
	media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards
	media: atomisp: fix dummy_ptr check to avoid duplicate active_bo
	ARM: ftrace: avoid redundant loads or clobbering IP
	ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk
	arm64: defconfig: build imx-sdma as a module
	video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
	video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
	video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
	ARM: dts: bcm2711: Add the missing L1/L2 cache information
	ASoC: soc-core: skip zero num_dai component in searching dai name
	media: imx-jpeg: fix a bug of accessing array out of bounds
	media: cx88-mpeg: clear interrupt status register before streaming video
	uaccess: fix type mismatch warnings from access_ok()
	lib/test_lockup: fix kernel pointer check for separate address spaces
	ARM: tegra: tamonten: Fix I2C3 pad setting
	ARM: mmp: Fix failure to remove sram device
	ASoC: amd: vg: fix for pm resume callback sequence
	video: fbdev: sm712fb: Fix crash in smtcfb_write()
	media: i2c: ov5648: Fix lockdep error
	media: Revert "media: em28xx: add missing em28xx_close_extension"
	media: hdpvr: initialize dev->worker at hdpvr_register_videodev
	ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13"
	tracing: Have TRACE_DEFINE_ENUM affect trace event types as well
	mmc: host: Return an error when ->enable_sdio_irq() ops is missing
	media: atomisp: fix bad usage at error handling logic
	ALSA: hda/realtek: Add alc256-samsung-headphone fixup
	KVM: x86: Reinitialize context if host userspace toggles EFER.LME
	KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root()
	KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU
	KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU
	KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi()
	KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb()
	KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls
	KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall
	powerpc/kasan: Fix early region not updated correctly
	powerpc/lib/sstep: Fix 'sthcx' instruction
	powerpc/lib/sstep: Fix build errors with newer binutils
	powerpc: Add set_memory_{p/np}() and remove set_memory_attr()
	powerpc: Fix build errors with newer binutils
	drm/dp: Fix off-by-one in register cache size
	drm/i915: Treat SAGV block time 0 as SAGV disabled
	drm/i915: Fix PSF GV point mask when SAGV is not possible
	drm/i915: Reject unsupported TMDS rates on ICL+
	scsi: qla2xxx: Refactor asynchronous command initialization
	scsi: qla2xxx: Implement ref count for SRB
	scsi: qla2xxx: Fix stuck session in gpdb
	scsi: qla2xxx: Fix warning message due to adisc being flushed
	scsi: qla2xxx: Fix scheduling while atomic
	scsi: qla2xxx: Fix premature hw access after PCI error
	scsi: qla2xxx: Fix wrong FDMI data for 64G adapter
	scsi: qla2xxx: Fix warning for missing error code
	scsi: qla2xxx: Fix device reconnect in loop topology
	scsi: qla2xxx: edif: Fix clang warning
	scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters
	scsi: qla2xxx: Add devids and conditionals for 28xx
	scsi: qla2xxx: Check for firmware dump already collected
	scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
	scsi: qla2xxx: Fix disk failure to rediscover
	scsi: qla2xxx: Fix incorrect reporting of task management failure
	scsi: qla2xxx: Fix hang due to session stuck
	scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests
	scsi: qla2xxx: Fix N2N inconsistent PLOGI
	scsi: qla2xxx: Fix stuck session of PRLI reject
	scsi: qla2xxx: Reduce false trigger to login
	scsi: qla2xxx: Use correct feature type field during RFF_ID processing
	platform: chrome: Split trace include file
	KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
	KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()
	KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
	KVM: Prevent module exit until all VMs are freed
	KVM: x86: fix sending PV IPI
	KVM: SVM: fix panic on out-of-bounds guest IRQ
	ubifs: rename_whiteout: Fix double free for whiteout_ui->data
	ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
	ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
	ubifs: Rename whiteout atomically
	ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work
	ubifs: Rectify space amount budget for mkdir/tmpfile operations
	ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
	ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
	ubifs: Fix to add refcount once page is set private
	ubifs: rename_whiteout: correct old_dir size computing
	nvme: allow duplicate NSIDs for private namespaces
	nvme: fix the read-only state for zoned namespaces with unsupposed features
	wireguard: queueing: use CFI-safe ptr_ring cleanup function
	wireguard: socket: free skb in send6 when ipv6 is disabled
	wireguard: socket: ignore v6 endpoints when ipv6 is disabled
	XArray: Fix xas_create_range() when multi-order entry present
	can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
	can: mcba_usb: properly check endpoint type
	can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value
	XArray: Update the LRU list in xas_split()
	modpost: restore the warning message for missing symbol versions
	rtc: check if __rtc_read_time was successful
	gfs2: gfs2_setattr_size error path fix
	gfs2: Make sure FITRIM minlen is rounded up to fs block size
	net: hns3: fix the concurrency between functions reading debugfs
	net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
	rxrpc: fix some null-ptr-deref bugs in server_key.c
	rxrpc: Fix call timer start racing with call destruction
	mailbox: imx: fix wakeup failure from freeze mode
	crypto: arm/aes-neonbs-cbc - Select generic cbc and aes
	watch_queue: Free the page array when watch_queue is dismantled
	pinctrl: pinconf-generic: Print arguments for bias-pull-*
	watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function
	net: sparx5: uses, depends on BRIDGE or !BRIDGE
	pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()
	pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()
	ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs
	ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
	ARM: iop32x: offset IRQ numbers by 1
	block: Fix the maximum minor value is blk_alloc_ext_minor()
	io_uring: fix memory leak of uid in files registration
	riscv module: remove (NOLOAD)
	ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
	vhost: handle error while adding split ranges to iotlb
	spi: Fix Tegra QSPI example
	platform/chrome: cros_ec_typec: Check for EC device
	can: isotp: restore accidentally removed MSG_PEEK feature
	proc: bootconfig: Add null pointer check
	drm/connector: Fix typo in documentation
	scsi: qla2xxx: Add qla2x00_async_done() for async routines
	staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet
	arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition
	ASoC: soc-compress: Change the check for codec_dai
	Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
	tracing: Have type enum modifications copy the strings
	net: add skb_set_end_offset() helper
	net: preserve skb_end_offset() in skb_unclone_keeptruesize()
	mm/mmap: return 1 from stack_guard_gap __setup() handler
	ARM: 9187/1: JIVE: fix return value of __setup handler
	mm/memcontrol: return 1 from cgroup.memory __setup() handler
	mm/usercopy: return 1 from hardened_usercopy __setup() handler
	af_unix: Support POLLPRI for OOB.
	bpf: Adjust BPF stack helper functions to accommodate skip > 0
	bpf: Fix comment for helper bpf_current_task_under_cgroup()
	mmc: rtsx: Use pm_runtime_{get,put}() to handle runtime PM
	dt-bindings: mtd: nand-controller: Fix the reg property description
	dt-bindings: mtd: nand-controller: Fix a comment in the examples
	dt-bindings: spi: mxic: The interrupt property is not mandatory
	dt-bindings: memory: mtk-smi: No need mediatek,larb-id for mt8167
	dt-bindings: pinctrl: pinctrl-microchip-sgpio: Fix example
	ubi: fastmap: Return error code if memory allocation fails in add_aeb()
	ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV
	ASoC: topology: Allow TLV control to be either read or write
	perf vendor events: Update metrics for SkyLake Server
	media: ov6650: Add try support to selection API operations
	media: ov6650: Fix crop rectangle affected by set format
	spi: mediatek: support tick_delay without enhance_timing
	ARM: dts: spear1340: Update serial node properties
	ARM: dts: spear13xx: Update SPI dma properties
	arm64: dts: ls1043a: Update i2c dma properties
	arm64: dts: ls1046a: Update i2c node dma properties
	um: Fix uml_mconsole stop/go
	docs: sysctl/kernel: add missing bit to panic_print
	openvswitch: Fixed nd target mask field in the flow dump.
	torture: Make torture.sh help message match reality
	n64cart: convert bi_disk to bi_bdev->bd_disk fix build
	mmc: rtsx: Let MMC core handle runtime PM
	mmc: rtsx: Fix build errors/warnings for unused variable
	KVM: x86/mmu: do compare-and-exchange of gPTE via the user address
	iommu/dma: Skip extra sync during unmap w/swiotlb
	iommu/dma: Fold _swiotlb helpers into callers
	iommu/dma: Check CONFIG_SWIOTLB more broadly
	swiotlb: Support aligned swiotlb buffers
	iommu/dma: Account for min_align_mask w/swiotlb
	coredump: Snapshot the vmas in do_coredump
	coredump: Remove the WARN_ON in dump_vma_snapshot
	coredump/elf: Pass coredump_params into fill_note_info
	coredump: Use the vma snapshot in fill_files_note
	PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"
	Linux 5.15.33

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id62bd8a22d0bfa7c2096539d253ffce804bed017
2022-04-20 08:18:54 +02:00
Subash Abhinov Kasiviswanathan
7b5e736d7c ANDROID: GKI: Enable CRYPTO_DES
This algorithm is still used in wifi calling scenarios.

Bug: 228970051
Change-Id: I06041ec023d023cfee175bd02b6db8e6c9656518
Signed-off-by: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
2022-04-20 00:45:26 +00:00
Andrey Konovalov
3946cfe599 FROMLIST: kasan: mark KASAN_VMALLOC flags as kasan_vmalloc_flags_t
Fix sparse warning:

mm/kasan/shadow.c:496:15: warning: restricted kasan_vmalloc_flags_t degrades to integer

Link: https://lkml.kernel.org/r/52d8fccdd3a48d4bdfd0ff522553bac2a13f1579.1649351254.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lore.kernel.org/all/52d8fccdd3a48d4bdfd0ff522553bac2a13f1579.1649351254.git.andreyknvl@google.com/T/#u
Bug: 217222520
Change-Id: I04133e8e9610b81fd0c856ece4f566110094bcb1
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-04-20 00:35:45 +00:00
Vincenzo Frascino
c4abfe47fc FROMLIST: kasan: fix hw tags enablement when KUNIT tests are disabled
Kasan enables hw tags via kasan_enable_tagging() which based on the mode
passed via kernel command line selects the correct hw backend.
kasan_enable_tagging() is meant to be invoked indirectly via the cpu
features framework of the architectures that support these backends.
Currently the invocation of this function is guarded by
CONFIG_KASAN_KUNIT_TEST which allows the enablement of the correct backend
only when KUNIT tests are enabled in the kernel.

This inconsistency was introduced in commit:

  ed6d74446c ("kasan: test: support async (again) and asymm modes for HW_TAGS")

... and prevents to enable MTE on arm64 when KUNIT tests for kasan hw_tags are
disabled.

Fix the issue making sure that the CONFIG_KASAN_KUNIT_TEST guard does not
prevent the correct invocation of kasan_enable_tagging().

Link: https://lkml.kernel.org/r/20220408124323.10028-1-vincenzo.frascino@arm.com
Fixes: ed6d74446c ("kasan: test: support async (again) and asymm modes for HW_TAGS")
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Link: https://lore.kernel.org/all/20220408124323.10028-1-vincenzo.frascino@arm.com/T/#u
Bug: 217222520
Change-Id: Ib4f05d74e091db57d2a8d5000d67137105d59a4c
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-04-20 00:35:38 +00:00
Andrey Konovalov
fbf37f26a5 BACKPORT: mm, kasan: fix __GFP_BITS_SHIFT definition breaking LOCKDEP
[Backport: resolve conflicts caused by CONFIG_CMA.]

KASAN changes that added new GFP flags mistakenly updated
__GFP_BITS_SHIFT as the total number of GFP bits instead of as a shift
used to define __GFP_BITS_MASK.

This broke LOCKDEP, as __GFP_BITS_MASK now gets the 25th bit enabled
instead of the 28th for __GFP_NOLOCKDEP.

Update __GFP_BITS_SHIFT to always count KASAN GFP bits.

In the future, we could handle all combinations of KASAN and LOCKDEP to
occupy as few bits as possible.  For now, we have enough GFP bits to be
inefficient in this quick fix.

Link: https://lkml.kernel.org/r/462ff52742a1fcc95a69778685737f723ee4dfb3.1648400273.git.andreyknvl@google.com
Fixes: 9353ffa6e9 ("kasan, page_alloc: allow skipping memory init for HW_TAGS")
Fixes: 53ae233c30 ("kasan, page_alloc: allow skipping unpoisoning for HW_TAGS")
Fixes: f49d9c5bb1 ("kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS")
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 78d104f8b401c81d140adad91e027d7d83b3315c)
Bug: 217222520
Change-Id: I82484635012c5773c6ef9164a9368d9e61157f87
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-04-20 00:35:20 +00:00
Andrey Konovalov
52c83986c9 BACKPORT: kasan: test: support async (again) and asymm modes for HW_TAGS
[Backport: fix conflicts with commit d9f210a14d ("ANDROID: kunit:
 Provision kunit as a vendor module") that removed CONFIG_KUNIT checks.]

Async mode support has already been implemented in commit e80a76aa1a
("kasan, arm64: tests supports for HW_TAGS async mode") but then got
accidentally broken in commit 99734b535d ("kasan: detect false-positives
in tests").

Restore the changes removed by the latter patch and adapt them for asymm
mode: add a sync_fault flag to kunit_kasan_expectation that only get set
if the MTE fault was synchronous, and reenable MTE on such faults in
tests.

Also rename kunit_kasan_expectation to kunit_kasan_status and move its
definition to mm/kasan/kasan.h from include/linux/kasan.h, as this
structure is only internally used by KASAN.  Also put the structure
definition under IS_ENABLED(CONFIG_KUNIT).

Link: https://lkml.kernel.org/r/133970562ccacc93ba19d754012c562351d4a8c8.1645033139.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit ed6d74446c)
Bug: 217222520
Change-Id: I8be7f20e72efe7ad81999dc75c848fb89664602c
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
2022-04-20 00:35:10 +00:00
Jian Gong
ace93ca5ef ANDROID: GKI: psci: add hook to check if cpu is allowed to power off
While TOS is running alongside with linux, cpu power off operation by linux
may need be denied by TOS in some scenarios.
This patch added two hooks in psci_tos_resident_on and psci_cpu_suspend
to hook cpu off operation.

The function psci_tos_resident_on originally is used to check if TOS is resident on
a specific cpu and that cpu is dedicated for running TOS exclusively. If so, that
cpu can not be power off. Actually if TOS supports SMP, TOS may need deny any
other cpu to power down in some cases, i.e. there are no-expired timers in TOS.
Thus the first hook for psci_tos_resident_on is used to determine if
the specific cpu is allowed to power off in the cpu hotplug path.

Besides cpu hotplug, a cpu also can power off by cpu_suspend.
The second hook for psci_cpu_suspend determines if cpu suspend should go through
or not. When the same conditions described above meets, cpu suspend will break up.

The hook is same as commit 88d88955ae0b8b1f1a555d7810beb6c8ca4ca0f1 from android12-5.4

Bug: 229067021
Change-Id: Ib329beeff20f0cfef263f6a7813280d33f6a5eaa
Signed-off-by: Jian Gong <Jian.Gong@unisoc.com>
2022-04-20 00:31:37 +00:00
Stephen Dickey
40bcf12c6b ANDROID: sched: vendor hook for sched_getaffinity
Just as sched_getaffinity updates the affinity based upon the
active_mask, the vendor hook needs to be able to constrain
the task's affinity.

Introduce a hook to sched_getaffinity such that vendor modules
are able to update the affinity.

Bug: 229133948
Change-Id: I5c501e9204d4fcc6688f675a41be60ef5a2d1075
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2022-04-20 00:30:01 +00:00
Namkyu Kim
87b89ce83b ANDROID: scheduler: add vendor-specific wake flag
specific wake flag for android vendor

Bug: 189858948
Bug: 226256614
Signed-off-by: Namkyu Kim <namkyu78.kim@samsung.com>
Change-Id: Idc23c1c47f7d83b298c0b2560859f1ce2761fd85
(cherry picked from commit 4c1097df5d)
Signed-off-by: Dongseok Yi <dseok.yi@samsung.com>
2022-04-19 23:47:01 +00:00
Kalesh Singh
46a5d62344 FROMGIT: EXP rcu: Move expedited grace period (GP) work to RT kthread_worker
Enabling CONFIG_RCU_BOOST did not reduce RCU expedited grace-period
latency because its workqueues run at SCHED_OTHER, and thus can be
delayed by normal processes.  This commit avoids these delays by moving
the expedited GP work items to a real-time-priority kthread_worker.

This option is controlled by CONFIG_RCU_EXP_KTHREAD and disabled by
default on PREEMPT_RT=y kernels which disable expedited grace periods
after boot by unconditionally setting rcupdate.rcu_normal_after_boot=1.

The results were evaluated on arm64 Android devices (6GB ram) running
5.10 kernel, and capturing trace data in critical user-level code.

The table below shows the resulting order-of-magnitude improvements
in synchronize_rcu_expedited() latency:

------------------------------------------------------------------------
|                          |   workqueues  |  kthread_worker |  Diff   |
------------------------------------------------------------------------
| Count                    |          725  |            688  |         |
------------------------------------------------------------------------
| Min Duration       (ns)  |          326  |            447  |  37.12% |
------------------------------------------------------------------------
| Q1                 (ns)  |       39,428  |         38,971  |  -1.16% |
------------------------------------------------------------------------
| Q2 - Median        (ns)  |       98,225  |         69,743  | -29.00% |
------------------------------------------------------------------------
| Q3                 (ns)  |      342,122  |        126,638  | -62.98% |
------------------------------------------------------------------------
| Max Duration       (ns)  |  372,766,967  |      2,329,671  | -99.38% |
------------------------------------------------------------------------
| Avg Duration       (ns)  |    2,746,353  |        151,242  | -94.49% |
------------------------------------------------------------------------
| Standard Deviation (ns)  |   19,327,765  |        294,408  |         |
------------------------------------------------------------------------

The below table show the range of maximums/minimums for
synchronize_rcu_expedited() latency from all experiments:

------------------------------------------------------------------------
|                          |   workqueues  |  kthread_worker |  Diff   |
------------------------------------------------------------------------
| Total No. of Experiments |           25  |             23  |         |
------------------------------------------------------------------------
| Largest  Maximum   (ns)  |  372,766,967  |      2,329,671  | -99.38% |
------------------------------------------------------------------------
| Smallest Maximum   (ns)  |       38,819  |         86,954  | 124.00% |
------------------------------------------------------------------------
| Range of Maximums  (ns)  |  372,728,148  |      2,242,717  |         |
------------------------------------------------------------------------
| Largest  Minimum   (ns)  |       88,623  |         27,588  | -68.87% |
------------------------------------------------------------------------
| Smallest Minimum   (ns)  |          326  |            447  |  37.12% |
------------------------------------------------------------------------
| Range of Minimums  (ns)  |       88,297  |         27,141  |         |
------------------------------------------------------------------------

Cc: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Reported-by: Tim Murray <timmurray@google.com>
Reported-by: Wei Wang <wvw@google.com>
Tested-by: Kyle Lin <kylelin@google.com>
Tested-by: Chunwei Lu <chunweilu@google.com>
Tested-by: Lulu Wang <luluw@google.com>
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Link: https://lore.kernel.org/r/20220409003527.1587028-1-kaleshsingh@google.com/
(cherry picked from commit 3902dd17a29bd3ed1ead364a331a1761edb7162b
git: //git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git fastexp.2022.04.11a)
Bug: 224791892
Change-Id: I4cc5d28f9ae99e44e92afc43ff4db4b71c415d6c
2022-04-19 23:20:40 +00:00
Abhijeet Dharmapurikar
fad13230ac ANDROID: sched: create trace points for 32bit execve
Module code would like to hold some locks when affinity is being updated
for 32 bit task exec.

Create pre and post tracepoints in force_compatible_cpus_allowed_ptr()

Bug: 187917024
Change-Id: I95bff9f4d5b5d37c1d5440acbd6857d2855c2b43
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2022-04-19 22:23:21 +00:00
Jindong Yue
3d19379a79 ANDROID: GKI: Enable CONFIG_USB_EHCI_ROOT_HUB_TT
Enable CONFIG_USB_EHCI_ROOT_HUB_TT so that EHCI controllers
on i.MX8MM can integrate transaction translators.

Bug: 194108974
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
Change-Id: If06b571e1a3a74946953fa48f86545b282b20b4d
(cherry picked from commit dac8af7144)
2022-04-19 21:58:49 +00:00
Di Shen
602c233f65 ANDROID: thermal: Add a flag for vendor hook enable_thermal_power_throt-
tle

Taking in account of SoC's surface temperature, we have to use more str-
ict temperature control to make IPA can monitor and mitigate temperature
control earlier and faster. It means power budget will be overridden wi-
th a more strict one(user power budget). So add an override flag.

It is not the same as "enable" flag. Originally, whether the IPA turns
on or not depends on whether the temperature exceeds switch_on_temp,the-
refore add "enable" flag.

About enable flag:
true: enable IPA control when temperature >= swtich_on_temp
false: disable IPA control when temperature < switch_on_temp

Now in order not to affect the original logic, add flag "override".

About override flag:
true: power budget is overridden by user power budget, and then thermal
power throttle takes action even if temperature < switch_on_temp.
false: power budget is not overridden, there's no other thermal requirm-
ent. Normal temperature control.

Bug: 209386157

Signed-off-by: Di Shen <di.shen@unisoc.com>
Change-Id: Ia9bbded636809d89d90a330df302391a5f4b3f5a
2022-04-19 10:47:34 +00:00
Gaofeng Sheng
8879650556 ANDROID: GKI: dma-buf: add vendor hook for dma_buf_release
The main function is to check whether the corresponding IOMMU buffer
is unmapped when dmabuf is released, so as to avoid memory coverage
caused by IOMMU.

Bug: 229552121
Change-Id: I56ae3f0994cd4f3d24494b7972e4d89d0f004da8
Signed-off-by: Gaofeng Sheng <gaofeng.sheng@unisoc.com>
2022-04-19 05:39:15 +00:00
Xiaopeng Bai
53e342c183 ANDROID: GKI: regmap: Add regmap vendor hook for of_syscon_register
For global registers access, UNISOC have one special method called set/clear
mechanism that would avoid using hardware spinlock. But now regmap framework
does not support our set/clear mechanism, so add vendor hook to support
this feature.

Bug: 228907258
Signed-off-by: Xiaopeng Bai <xiaopeng.bai@unisoc.com>
Change-Id: I9a6651f07a048ffebd5c2d8e369a4e7b374bc182
2022-04-19 08:57:22 +08:00
Charan Teja Reddy
eabd925e61 ANDROID: mm: shmem: use reclaim_pages() to recalim pages from a list
Static code analysis tool reported NULL pointer access in
shrink_page_list() as the commit 26aa2d199d ("mm/migrate: demote
pages during reclaim") expects valid pgdat.

There is already an existing api, reclaim_pages, that tries to reclaim
pages from the list. use it instead of creating custom function.

Bug: 201263305
Fixes: 96f80f6284 ("ANDROID: mm: add reclaim_shmem_address_space() for faster reclaims")
Change-Id: Iaa11feac94c9e8338324ace0276c49d6a0adeb0c
Signed-off-by: Charan Teja Reddy <quic_charante@quicinc.com>
2022-04-18 20:31:40 +00:00
Luca Ceresoli
df9528ab15 UPSTREAM: PCI: dwc: Export more symbols to allow modular drivers
These symbols are used by the pci-dra7xx driver. Export them to allow
building pci-dra7xx as a module.

Link: https://lore.kernel.org/r/20210531085934.2662457-2-luca@lucaceresoli.net
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>

Bug: 229465312
Change-Id: I5fac6f9882d635710494fa7b84f090b34b723040
(cherry picked from commit 3a7fb86758)
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2022-04-18 10:39:32 +08:00
Yunxian He
0e10f65fa9 ANDROID: usb: Add vendor hook when core detect a new device
Add vendor hook when core detect a new device. Vendor side
can use this hook to do several things. Our Unisoc ASIC had
some drawback. most scene, we use DWC3 controller and
associated PHY, when digital headset plug in, we need end the
enumeration and switch to another controller and phy. Using this
hook, we can do the switch easily and efficiently.

Bug: 229330749
Change-Id: I1cba28b43ff1b1f5ac0138c0bb743f3d8e9f1e4b
Signed-off-by: Yunxian He <yunxian.he@unisoc.com>
2022-04-15 18:54:33 +08:00
Yifan Hong
4790282ac1 ANDROID: Move BRANCH from build.config.common to .constants.
This allows Bazel to load the value of $BRANCH in order
to determine the value of --dist_dir of copy_to_dist_dir
statically.

Test: TH
Bug: 229268271

Change-Id: Iff759b8188360ea1b2bc204d29750eece9095582
Signed-off-by: Yifan Hong <elsk@google.com>
2022-04-14 14:20:28 -07:00
Fuad Tabba
4d5aa4280a ANDROID: KVM: arm64: Do not allow memslot modifications once a PVM has run
Currently trying to move or delete a memslot results in a warning
and a failure. Userspace shouldn't be able to trigger kernel
warnings.

The cause is that in protected mode, stage-2 is managed by hyp.
Modifying a memslot flushes the shadow memslot, which tries to
unmap any stage-2 mapped pages.

Bug: 226890762
Signed-off-by: Fuad Tabba <tabba@google.com>
Change-Id: Icc6a0aada76e8492285cd5509bad1ee57700af7c
2022-04-14 13:03:56 +00:00
Marc Zyngier
5f852449e8 ANDROID: arm64: Wrap MPAM setup with a config option
As it turns out, there are broken firmwares out there, and an apparent
need to turn MPAM off until the firmware can be fixed.

Introduce the ARM64_MPAM config option, wrap the MPAM setup with it,
and set it as default for GKI. Non-GKI uses with broken firmwares can
have their own config fragments to deal with it.

The config option text is lifted from James Morse's git tree.

Bug: 228613614
Signed-off-by: Marc Zyngier <mzyngier@google.com>
Change-Id: Ib782aab89c826ea96dbf9ae26c16d1a4a61c41fb
2022-04-14 09:59:55 +00:00
Nick Desaulniers
53b9568a1c ANDROID: clang: update to 14.0.4
Bug: 229024402
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: I24759afac1c558a04ba5987166042b435470949c
2022-04-13 16:03:48 +00:00
Jaskaran Singh
e12dcc29cc ANDROID: Configure out the macros in android_kabi and android_vendor
Add configs to control removing the macros or not. On some platform,
configureing out the macros removes the associated members from the
structs, this reduces the object size of the slabs related with the
structs, therefore reduces the total slab memory consumption of system.

Besides, this also reduces vmlinux size a bit, therefore the total
kernel memory size increses a bit.

The macros are ANDROID_KABI_RESERVE, ANDROID_VENDOR_DATA,
ANDROID_VENDOR_DATA_ARRAY, ANDROID_OEM_DATA, ANDROID_OEM_DATA_ARRAY.

Bug: 206561931
(cherry picked from commit b7a6c15a6f)
Signed-off-by: Qingqing Zhou <quic_qqzhou@quicinc.com>
(cherry picked from commit 3c06a5ce5e)
Signed-off-by: Jaskaran Singh <quic_jasksing@quicinc.com>
Change-Id: Iea4b962dff386a17c9bef20ae048be4e17bf43ab
2022-04-13 06:17:34 +00:00
Will Deacon
3d21efc81c ANDROID: KVM: arm64: Fix size calculation of FFA memory range
Ensure that the FFA memory range to be checked and annotated in the host
stage-2 page-table is page-aligned and that its size is calculated using
64-bit arithmetic to avoid the host triggering overflow and subsequent
truncation.

Bug: 228889679
Reported-by: Gulshan Singh <gsgx@google.com>
Signed-off-by: Will Deacon <willdeacon@google.com>
Change-Id: Ifc51ee9598905cf2926d19c53159804f89d74040
2022-04-12 17:46:45 +01:00
Will Deacon
7a67d424c1 ANDROID: KVM: arm64: Pin FFA mailboxes shared by the host
Gulshan reports that the hypervisor is not pinning the host FFA mailbox
pages, therefore allowing the host to unshare them after registration
and to later donate them for things like page-table pages.

Pin the host FFA mailboxes to prevent the host from unsharing them while
they are in use.

Bug: 228931886
Reported-by: Gulshan Singh <gsgx@google.com>
Signed-off-by: Will Deacon <willdeacon@google.com>
Change-Id: I18ecad6ccaa3ef89015a71d97890fad55f0568f2
2022-04-12 17:46:45 +01:00
Arnaud Pouliquen
0f1d21aeb4 UPSTREAM: rpmsg: ctrl: Introduce new RPMSG_CREATE/RELEASE_DEV_IOCTL controls
Allow the user space application to create and release an rpmsg device
by adding RPMSG_CREATE_DEV_IOCTL and RPMSG_RELEASE_DEV_IOCTL ioctrls to
the /dev/rpmsg_ctrl interface

The RPMSG_CREATE_DEV_IOCTL Ioctl can be used to instantiate a local rpmsg
device.
Depending on the back-end implementation, the associated rpmsg driver is
probed and a NS announcement can be sent to the remote processor.

The RPMSG_RELEASE_DEV_IOCTL allows the user application to release a
rpmsg device created either by the remote processor or with the
RPMSG_CREATE_DEV_IOCTL call.
Depending on the back-end implementation, the associated rpmsg driver is
removed and a NS destroy rpmsg can be sent to the remote processor.

Suggested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-12-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit 8109517b39)
Change-Id: I854c18cc8212e3146aabeba134f026d1dc2ba3fa
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:18 +08:00
Arnaud Pouliquen
ac2a5fe28c UPSTREAM: rpmsg: char: Introduce the "rpmsg-raw" channel
For the rpmsg virtio backend, the current implementation of the rpmsg char
only allows to instantiate static(i.e. prefixed source and destination
addresses) end points, and only on the Linux user space initiative.

This patch defines the "rpmsg-raw" channel and registers it to the rpmsg bus.
This registration allows:
- To create the channel at the initiative of the remote processor
  relying on the name service announcement mechanism. In other words the
  /dev/rpmsgX interface is instantiate by the remote processor.
- To use the channel object instead of the endpoint, thus preventing the
  user space from having the knowledge of the remote processor's
  endpoint addresses.
- To rely on udev to be inform when a /dev/rpmsgX is created on remote
  processor request, indicating that the remote processor is ready to
  communicate.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-11-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit bc69d10665)
Change-Id: I3b05e49db9a2273c3b9bb7b5f7d1c6dba4415d0f
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:18 +08:00
Arnaud Pouliquen
80082a8b27 UPSTREAM: rpmsg: char: Add possibility to use default endpoint of the rpmsg device
Current implementation create/destroy a new endpoint on each
rpmsg_eptdev_open/rpmsg_eptdev_release calls.

For a rpmsg device created by the NS announcement a default endpoint is created.
In this case we have to reuse the default rpmsg device endpoint associated to
the channel instead of creating a new one.

This patch prepares the introduction of a rpmsg channel device for the
char device. The rpmsg channel device will require a default endpoint to
communicate to the remote processor.

Add the default_ept field in rpmsg_eptdev structure.This pointer
determines the behavior on rpmsg_eptdev_open and rpmsg_eptdev_release call.

- If default_ept == NULL:
  Use the legacy behavior by creating a new endpoint each time
  rpmsg_eptdev_open is called and release it when rpmsg_eptdev_release
  is called on /dev/rpmsgX device open/close.

- If default_ept is set:
  use the rpmsg device default endpoint for the communication.

Add protection in rpmsg_eptdev_ioctl to prevent to destroy a default endpoint.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-10-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit bea9b79c2d)
Change-Id: I7bf1a816a29bb1469235c1ac162363e08bb0c5dd
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:18 +08:00
Arnaud Pouliquen
3ebe5afe93 UPSTREAM: rpmsg: char: Refactor rpmsg_chrdev_eptdev_create function
Introduce the rpmsg_chrdev_eptdev_alloc and rpmsg_chrdev_eptdev_add
internal function to split the allocation part from the device add.

This patch prepares the introduction of a rpmsg channel device for the
char device. An default endpoint will be created,
referenced in the rpmsg_eptdev structure before adding the devices.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-9-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit cc9da7de4a)
Change-Id: Ibbcf48ecac9ee12d9daedcf563d8c3afe341a198
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:18 +08:00
Arnaud Pouliquen
d08b81c362 UPSTREAM: rpmsg: Update rpmsg_chrdev_register_device function
The rpmsg_chrdev driver has been replaced by the rpmsg_ctrl driver
for the /dev/rpmsg_ctrlX devices management. The reference for the
driver override is now the rpmsg_ctrl.

Update the rpmsg_chrdev_register_device function to reflect the update,
and rename the function to use the rpmsg_ctrldev prefix.

The platform drivers are updated accordingly.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-8-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit 472f84eef7)
Change-Id: I14da75a4a6332d60df141c798784d32db05e0348
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Arnaud Pouliquen
902aa461ee UPSTREAM: rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl
Create the rpmsg_ctrl.c module and move the code related to the
rpmsg_ctrldev device in this new module.

Add the dependency between rpmsg_char and rpmsg_ctrl in the
kconfig file:

1) RPMSG_CTRL can set as module or built-in if
  RPMSG=y || RPMSG_CHAR=y || RPMSG_CHAR=n

2) RPMSG_CTRL can not be set as built-in if
   RPMSG=m || RPMSG_CHAR=m

Note that RPMGH_CHAR and RPMSG_CTRL can be activated separately.
Therefore, the RPMSG_CTRL configuration must be set for backwards compatibility.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-4-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit 617d32938d)
Change-Id: Iee25f89e636953d188ec1fdaef733fa7cfde3e3f
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Arnaud Pouliquen
1081d84dc4 UPSTREAM: rpmsg: Create the rpmsg class in core instead of in rpmsg char
Migrate the creation of the rpmsg class from the rpmsg_char
to the core that the class is usable by the rpmsg_char and
the future rpmsg_ctrl module.

Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-3-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit 608edd9604)
Change-Id: I2ec3bf9bdb87b13446ca9da40861458160d137b5
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Arnaud Pouliquen
33b09b1ac7 UPSTREAM: rpmsg: char: Export eptdev create and destroy functions
To prepare the split of the code related to the control (ctrldev)
and the endpoint (eptdev) devices in 2 separate files:

- Rename and export the functions in rpmsg_char.h.

- Suppress the dependency with the rpmsg_ctrldev struct in the
  rpmsg_eptdev_create function.

Suggested-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220124102524.295783-2-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit 69265bc12b)
Change-Id: Id4633293eb40deb07f7b52a945b61bd9e36f4c05
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Arnaud Pouliquen
5ce1bc8a73 UPSTREAM: rpmsg: char: Add pr_fmt() to prefix messages
Make all messages to be prefixed in a unified way.
Add pr_fmt() to achieve this.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Link: https://lore.kernel.org/r/20211108135945.3364-1-arnaud.pouliquen@foss.st.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>

Bug: 228237154
(cherry picked from commit c572724406)
Change-Id: I3bf8414a74aaeba9ae08bb3954f975c872894cd3
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Arnaud Pouliquen
374fbf2939 UPSTREAM: rpmsg: char: Remove useless include
No facility requests the include of rpmsg_internal.h header file.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210712123752.10449-2-arnaud.pouliquen@foss.st.com

Bug: 228237154
(cherry picked from commit bc774a3887)
Change-Id: I032f7c96a2c1803221db57ee884086aa200185d6
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2022-04-12 09:46:17 +08:00
Jian Gong
6ba50a5936 ANDROID: ABI: Add unisoc whitelist for the A13-5.15
Update whitelist for the symbols used by the unisoc device and
update the ABI representation accordingly.

Leaf changes summary: 510 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 499 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 11 Added variables
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 3 Added variable symbols not referenced by debug info

499 Added functions:

  [A] 'function block_device* I_BDEV(inode*)'
  [A] 'function int LZ4_decompress_safe_partial(const char*, char*, int, int, int)'
  [A] 'function gendisk* __alloc_disk_node(request_queue*, int, lock_class_key*)'
  [A] 'function void __blk_mq_end_request(request*, blk_status_t)'
  [A] 'function ssize_t __blockdev_direct_IO(kiocb*, inode*, block_device*, iov_iter*, get_block_t*, dio_iodone_t*, dio_submit_t*, int)'
  [A] 'function void __breadahead(block_device*, sector_t, unsigned int)'
  [A] 'function unsigned long int __crypto_memneq(void*, void*, size_t)'
  [A] 'function void __crypto_xor(u8*, const u8*, const u8*, unsigned int)'
  [A] 'function net_device* __dev_get_by_name(net*, const char*)'
  [A] 'function void __dynamic_netdev_dbg(_ddebug*, const net_device*, const char*, ...)'
  [A] 'function buffer_head* __find_get_block(block_device*, sector_t, unsigned int)'
  [A] 'function int __iio_trigger_register(iio_trigger*, module*)'
  [A] 'function void __ip_select_ident(net*, iphdr*, int)'
  [A] 'function int __ipv6_addr_type(const in6_addr*)'
  [A] 'function int __kfifo_from_user_r(__kfifo*, void*, unsigned long int, unsigned int*, size_t)'
  [A] 'function int __kfifo_to_user_r(__kfifo*, void*, unsigned long int, unsigned int*, size_t)'
  [A] 'function void __mark_inode_dirty(inode*, int)'
  [A] 'function sk_buff* __pskb_copy_fclone(sk_buff*, int, gfp_t, bool)'
  [A] 'function void __put_net(net*)'
  [A] 'function sock* __raw_v4_lookup(net*, sock*, unsigned short int, __be32, __be32, int, int)'
  [A] 'function sock* __raw_v6_lookup(net*, sock*, unsigned short int, const in6_addr*, const in6_addr*, int, int)'
  [A] 'function void __remove_inode_hash(inode*)'
  [A] 'function scsi_device* __scsi_add_device(Scsi_Host*, uint, uint, u64, void*)'
  [A] 'function int __sk_receive_skb(sock*, sk_buff*, const int, unsigned int, bool)'
  [A] 'function tty_driver* __tty_alloc_driver(unsigned int, module*, unsigned long int)'
  [A] 'function int __usb_get_extra_descriptor(char*, unsigned int, unsigned char, void**, size_t)'
  [A] 'function int add_to_page_cache_lru(page*, address_space*, unsigned long int, gfp_t)'
  [A] 'function int addrconf_prefix_rcv_add_addr(net*, net_device*, const prefix_info*, inet6_dev*, const in6_addr*, int, u32, bool, bool, __u32, u32)'
  [A] 'function void aes_encrypt(const crypto_aes_ctx*, u8*, const u8*)'
  [A] 'function int aes_expandkey(crypto_aes_ctx*, const u8*, unsigned int)'
  [A] 'function ktime_t alarm_expires_remaining(const alarm*)'
  [A] 'function u64 alarm_forward(alarm*, ktime_t, ktime_t)'
  [A] 'function void arc4_crypt(arc4_ctx*, u8*, const u8*, unsigned int)'
  [A] 'function int arc4_setkey(arc4_ctx*, const u8*, unsigned int)'
  [A] 'function int bio_add_page(bio*, page*, unsigned int, unsigned int)'
  [A] 'function void bio_associate_blkg(bio*)'
  [A] 'function void bio_init(bio*, bio_vec*, unsigned short int)'
  [A] 'function void bio_put(bio*)'
  [A] 'function int bit_wait(wait_bit_key*, int)'
  [A] 'function void blk_cleanup_queue(request_queue*)'
  [A] 'function void blk_finish_plug(blk_plug*)'
  [A] 'function int blk_mq_map_queues(blk_mq_queue_map*)'
  [A] 'function void blk_mq_requeue_request(request*, bool)'
  [A] 'function void blk_mq_run_hw_queues(request_queue*, bool)'
  [A] 'function void blk_queue_bounce_limit(request_queue*, blk_bounce)'
  [A] 'function void blk_queue_update_dma_alignment(request_queue*, int)'
  [A] 'function void blk_start_plug(blk_plug*)'
  [A] 'function bool blk_update_request(request*, blk_status_t, unsigned int)'
  [A] 'function void blkdev_put(block_device*, fmode_t)'
  [A] 'function int block_write_full_page(page*, get_block_t*, writeback_control*)'
  [A] 'function int bpf_prog_create(bpf_prog**, sock_fprog_kern*)'
  [A] 'function void bpf_prog_destroy(bpf_prog*)'
  [A] 'function void* bsearch(void*, void*, size_t, size_t, cmp_func_t)'
  [A] 'function int cdc_parse_cdc_header(usb_cdc_parsed_header*, usb_interface*, u8*, int)'
  [A] 'function int ce_aes_expandkey(crypto_aes_ctx*, const u8*, unsigned int)'
  [A] 'function void cfg80211_rx_unprot_mlme_mgmt(net_device*, const u8*, size_t)'
  [A] 'function void clear_nlink(inode*)'
  [A] 'function int clk_bulk_get(device*, int, clk_bulk_data*)'
  [A] 'function int clk_bulk_get_all(device*, clk_bulk_data**)'
  [A] 'function void console_lock()'
  [A] 'function int cont_write_begin(file*, address_space*, loff_t, unsigned int, unsigned int, page**, void**, get_block_t*, loff_t*)'
  [A] 'function unsigned int cpufreq_generic_get(unsigned int)'
  [A] 'function int cpufreq_generic_suspend(cpufreq_policy*)'
  [A] 'function int cpufreq_unregister_notifier(notifier_block*, unsigned int)'
  [A] 'function int crypto_ahash_digest(ahash_request*)'
  [A] 'function crypto_ahash* crypto_alloc_ahash(const char*, u32, u32)'
  [A] 'function crypto_engine* crypto_engine_alloc_init(device*, bool)'
  [A] 'function int crypto_engine_exit(crypto_engine*)'
  [A] 'function int crypto_engine_start(crypto_engine*)'
  [A] 'function int crypto_has_ahash(const char*, u32, u32)'
  [A] 'function void crypto_inc(u8*, unsigned int)'
  [A] 'function void crypto_mod_put(crypto_alg*)'
  [A] 'function int crypto_register_scomp(scomp_alg*)'
  [A] 'function int crypto_sha1_finup(shash_desc*, const u8*, unsigned int, u8*)'
  [A] 'function int crypto_sha1_update(shash_desc*, const u8*, unsigned int)'
  [A] 'function void crypto_unregister_skcipher(skcipher_alg*)'
  [A] 'function __wsum csum_partial(void*, int, __wsum)'
  [A] 'function timespec64 current_time(inode*)'
  [A] 'function dentry* d_find_alias(inode*)'
  [A] 'function void d_instantiate(dentry*, inode*)'
  [A] 'function void d_move(dentry*, dentry*)'
  [A] 'function bool debugfs_initialized()'
  [A] 'function void dev_add_pack(packet_type*)'
  [A] 'function net_device* dev_get_by_index(net*, int)'
  [A] 'function net_device* dev_get_by_index_rcu(net*, int)'
  [A] 'function net_device* dev_get_by_name_rcu(net*, const char*)'
  [A] 'function void dev_pm_opp_free_cpufreq_table(device*, cpufreq_frequency_table**)'
  [A] 'function void dev_pm_opp_remove(device*, unsigned long int)'
  [A] 'function void dev_remove_pack(packet_type*)'
  [A] 'function int devfreq_event_get_event(devfreq_event_dev*, devfreq_event_data*)'
  [A] 'function int devfreq_update_status(devfreq*, unsigned long int)'
  [A] 'function int devm_extcon_register_notifier_all(device*, extcon_dev*, notifier_block*)'
  [A] 'function hwspinlock* devm_hwspin_lock_request_specific(device*, unsigned int)'
  [A] 'function usb_phy* devm_usb_get_phy(device*, usb_phy_type)'
  [A] 'function size_t dma_max_mapping_size(device*)'
  [A] 'function int driver_attach(device_driver*)'
  [A] 'function void drm_atomic_helper_commit_tail_rpm(drm_atomic_state*)'
  [A] 'function void drm_atomic_helper_update_legacy_modeset_state(drm_device*, drm_atomic_state*)'
  [A] 'function void drm_atomic_set_fence_for_plane(drm_plane_state*, dma_fence*)'
  [A] 'function int drm_atomic_set_mode_for_crtc(drm_crtc_state*, const drm_display_mode*)'
  [A] 'function int drm_connector_attach_content_protection_property(drm_connector*, bool)'
  [A] 'function int drm_dp_calc_pbn_mode(int, int, bool)'
  [A] 'function dma_buf* drm_gem_prime_export(drm_gem_object*, int)'
  [A] 'function int drm_hdcp_check_ksvs_revoked(drm_device*, u8*, u32)'
  [A] 'function void drm_hdcp_update_content_protection(drm_connector*, u64)'
  [A] 'function long int drm_ioctl_kernel(file*, drm_ioctl_t*, void*, u32)'
  [A] 'function u8 drm_match_cea_mode(const drm_display_mode*)'
  [A] 'function int drm_plane_create_color_properties(drm_plane*, u32, u32, drm_color_encoding, drm_color_range)'
  [A] 'function int drm_plane_create_zpos_immutable_property(drm_plane*, unsigned int)'
  [A] 'function void drm_put_dev(drm_device*)'
  [A] 'function void drop_nlink(inode*)'
  [A] 'function u32 dw_pcie_read_dbi(dw_pcie*, u32, size_t)'
  [A] 'function int dw_pcie_wait_for_link(dw_pcie*)'
  [A] 'function void dw_pcie_write_dbi(dw_pcie*, u32, size_t, u32)'
  [A] 'function extcon_dev* extcon_find_edev_by_node(device_node*)'
  [A] 'function char* file_path(file*, char*, int)'
  [A] 'function int filemap_fdatawait_range(address_space*, loff_t, loff_t)'
  [A] 'function int filemap_fdatawrite_range(address_space*, loff_t, loff_t)'
  [A] 'function int filp_close(file*, fl_owner_t)'
  [A] 'function file* filp_open_block(const char*, int, umode_t)'
  [A] 'function unsigned char fs_ftype_to_dtype(unsigned int)'
  [A] 'function void* fwnode_connection_find_match(fwnode_handle*, const char*, void*, devcon_match_fn_t)'
  [A] 'function fwnode_handle* fwnode_get_parent(const fwnode_handle*)'
  [A] 'function int fwnode_property_read_u16_array(const fwnode_handle*, const char*, u16*, size_t)'
  [A] 'function unsigned long int gen_pool_fixed_alloc(unsigned long int*, unsigned long int, unsigned long int, unsigned int, void*, gen_pool*, unsigned long int)'
  [A] 'function sector_t generic_block_bmap(address_space*, sector_t, get_block_t*)'
  [A] 'function int generic_cont_expand_simple(inode*, loff_t)'
  [A] 'function int generic_file_fsync(file*, loff_t, loff_t, int)'
  [A] 'function ssize_t generic_file_write_iter(kiocb*, iov_iter*)'
  [A] 'function void generic_fillattr(user_namespace*, inode*, kstat*)'
  [A] 'function int generic_key_instantiate(key*, key_preparsed_payload*)'
  [A] 'function int generic_write_end(file*, address_space*, loff_t, unsigned int, unsigned int, page*, void*)'
  [A] 'function void gf128mul_lle(be128*, const be128*)'
  [A] 'function bool gpiochip_line_is_irq(gpio_chip*, unsigned int)'
  [A] 'function int gpiod_get_direction(gpio_desc*)'
  [A] 'function gpio_chip* gpiod_to_chip(const gpio_desc*)'
  [A] 'function int gre_add_protocol(const gre_protocol*, u8)'
  [A] 'function int gre_del_protocol(const gre_protocol*, u8)'
  [A] 'function int hwspin_lock_register(hwspinlock_device*, device*, const hwspinlock_ops*, int, int)'
  [A] 'function int hwspin_lock_unregister(hwspinlock_device*)'
  [A] 'function s32 i2c_smbus_read_word_data(const i2c_client*, u8)'
  [A] 'function void icmp6_send(sk_buff*, u8, u8, __u32, const in6_addr*, const inet6_skb_parm*)'
  [A] 'function void* idr_replace(idr*, void*, unsigned long int)'
  [A] 'function void iget_failed(inode*)'
  [A] 'function irqreturn_t iio_pollfunc_store_time(int, void*)'
  [A] 'function iio_trigger* iio_trigger_alloc(device*, const char*, ...)'
  [A] 'function void iio_trigger_free(iio_trigger*)'
  [A] 'function void iio_trigger_poll(iio_trigger*)'
  [A] 'function void iio_trigger_unregister(iio_trigger*)'
  [A] 'function int iio_write_channel_attribute(iio_channel*, int, int, iio_chan_info_enum)'
  [A] 'function inode* ilookup(super_block*, unsigned long int)'
  [A] 'function int in4_pton(const char*, int, u8*, int, const char**)'
  [A] 'function void in6_dev_finish_destroy(inet6_dev*)'
  [A] 'function int in_group_p(kgid_t)'
  [A] 'function void inc_nlink(inode*)'
  [A] 'function unsigned int inet_dev_addr_type(net*, const net_device*, __be32)'
  [A] 'function int inet_diag_bc_sk(const nlattr*, sock*)'
  [A] 'function int inet_diag_register(const inet_diag_handler*)'
  [A] 'function void inet_diag_unregister(const inet_diag_handler*)'
  [A] 'function void inet_proto_csum_replace4(__sum16*, sk_buff*, __be32, __be32, bool)'
  [A] 'function __be32 inet_select_addr(const net_device*, __be32, int)'
  [A] 'function int inet_sk_diag_fill(sock*, inet_connection_sock*, sk_buff*, netlink_callback*, const inet_diag_req_v2*, u16, bool)'
  [A] 'function void init_special_inode(inode*, umode_t, dev_t)'
  [A] 'function void inode_nohighmem(inode*)'
  [A] 'function int input_ff_create_memless(input_dev*, void*, int (input_dev*, void*, ff_effect*)*)'
  [A] 'function int input_mt_get_slot_by_key(input_dev*, int)'
  [A] 'function int input_scancode_to_scalar(const input_keymap_entry*, unsigned int*)'
  [A] 'function u64 int_pow(u64, unsigned int)'
  [A] 'function void invalidate_inode_buffers(inode*)'
  [A] 'function int iommu_device_link(iommu_device*, device*)'
  [A] 'function void iommu_group_remove_device(device*)'
  [A] 'function int ip6_find_1stfragopt(sk_buff*, u8**)'
  [A] 'function int ip6_local_out(net*, sock*, sk_buff*)'
  [A] 'function void ip6_redirect(sk_buff*, net*, int, u32, kuid_t)'
  [A] 'function dst_entry* ip6_route_output_flags(net*, const sock*, flowi6*, int)'
  [A] 'function void ip6_update_pmtu(sk_buff*, net*, __be32, int, u32, kuid_t)'
  [A] 'function void* ip6t_alloc_initial_table(const xt_table*)'
  [A] 'function unsigned int ip6t_do_table(sk_buff*, const nf_hook_state*, xt_table*)'
  [A] 'function int ip6t_register_table(net*, const xt_table*, const ip6t_replace*, const nf_hook_ops*)'
  [A] 'function int ip_local_out(net*, sock*, sk_buff*)'
  [A] 'function rtable* ip_route_output_flow(net*, flowi4*, const sock*)'
  [A] 'function void ipcomp_destroy(xfrm_state*)'
  [A] 'function int ipcomp_init_state(xfrm_state*)'
  [A] 'function int ipcomp_input(xfrm_state*, sk_buff*)'
  [A] 'function int ipcomp_output(xfrm_state*, sk_buff*)'
  [A] 'function void ipv4_redirect(sk_buff*, net*, int, u8)'
  [A] 'function void ipv4_update_pmtu(sk_buff*, net*, u32, int, u8)'
  [A] 'function int ipv6_chk_addr(net*, const in6_addr*, const net_device*, int)'
  [A] 'function int ipv6_dev_get_saddr(net*, const net_device*, const in6_addr*, unsigned int, in6_addr*)'
  [A] 'function bool ipv6_ext_hdr(u8)'
  [A] 'function int ipv6_find_hdr(const sk_buff*, unsigned int*, int, unsigned short int*, int*)'
  [A] 'function __be32 ipv6_select_ident(net*, const in6_addr*, const in6_addr*)'
  [A] 'function int ir_raw_gen_manchester(ir_raw_event**, unsigned int, const ir_raw_timings_manchester*, unsigned int, u64)'
  [A] 'function int ir_raw_gen_pd(ir_raw_event**, unsigned int, const ir_raw_timings_pd*, unsigned int, u64)'
  [A] 'function int ir_raw_gen_pl(ir_raw_event**, unsigned int, const ir_raw_timings_pl*, unsigned int, u64)'
  [A] 'function int ir_raw_handler_register(ir_raw_handler*)'
  [A] 'function void ir_raw_handler_unregister(ir_raw_handler*)'
  [A] 'function int is_console_locked()'
  [A] 'function ino_t iunique(super_block*, ino_t)'
  [A] 'function void key_invalidate(key*)'
  [A] 'function void key_put(key*)'
  [A] 'function void key_revoke(key*)'
  [A] 'function int key_validate(const key*)'
  [A] 'function key* keyring_alloc(const char*, kuid_t, kgid_t, const cred*, key_perm_t, unsigned long int, key_restriction*, key*)'
  [A] 'function void kfree_skb_list(sk_buff*)'
  [A] 'function int kill_pid(pid*, int, int)'
  [A] 'function char* kobject_get_path(kobject*, gfp_t)'
  [A] 'function size_t ksize(void*)'
  [A] 'function bool kthread_freezable_should_stop(bool*)'
  [A] 'function u64 ktime_get_boot_fast_ns()'
  [A] 'function l2tp_session* l2tp_session_create(int, l2tp_tunnel*, u32, u32, l2tp_session_cfg*)'
  [A] 'function void l2tp_session_delete(l2tp_session*)'
  [A] 'function l2tp_session* l2tp_session_get_nth(l2tp_tunnel*, int)'
  [A] 'function int l2tp_session_register(l2tp_session*, l2tp_tunnel*)'
  [A] 'function void l2tp_session_set_header_len(l2tp_session*, int)'
  [A] 'function int l2tp_tunnel_create(int, int, u32, u32, l2tp_tunnel_cfg*, l2tp_tunnel**)'
  [A] 'function void l2tp_tunnel_delete(l2tp_tunnel*)'
  [A] 'function l2tp_tunnel* l2tp_tunnel_get(const net*, u32)'
  [A] 'function l2tp_tunnel* l2tp_tunnel_get_nth(const net*, int)'
  [A] 'function l2tp_session* l2tp_tunnel_get_session(l2tp_tunnel*, u32)'
  [A] 'function int l2tp_tunnel_register(l2tp_tunnel*, net*, l2tp_tunnel_cfg*)'
  [A] 'function int l2tp_udp_encap_recv(sock*, sk_buff*)'
  [A] 'function int l2tp_xmit_skb(l2tp_session*, sk_buff*)'
  [A] 'function u32* led_get_default_pattern(led_classdev*, unsigned int*)'
  [A] 'function int led_trigger_register(led_trigger*)'
  [A] 'function void led_trigger_register_simple(const char*, led_trigger**)'
  [A] 'function void led_trigger_unregister(led_trigger*)'
  [A] 'function void led_trigger_unregister_simple(led_trigger*)'
  [A] 'function int lzorle1x_1_compress(const unsigned char*, size_t, unsigned char*, size_t*, void*)'
  [A] 'function int match_octal(substring_t*, int*)'
  [A] 'function char* match_strdup(const substring_t*)'
  [A] 'function mbox_chan* mbox_request_channel_byname(mbox_client*, const char*)'
  [A] 'function void* mempool_alloc(mempool_t*, gfp_t)'
  [A] 'function void* mempool_alloc_slab(gfp_t, void*)'
  [A] 'function mempool_t* mempool_create(int, mempool_alloc_t*, mempool_free_t*, void*)'
  [A] 'function void mempool_destroy(mempool_t*)'
  [A] 'function void mempool_free(void*, mempool_t*)'
  [A] 'function void mempool_free_slab(void*, void*)'
  [A] 'function void* memset32(uint32_t*, uint32_t, size_t)'
  [A] 'function int mipi_dsi_set_maximum_return_packet_size(mipi_dsi_device*, u16)'
  [A] 'function int mpage_readpage(page*, get_block_t*)'
  [A] 'function int mpage_writepages(address_space*, writeback_control*, get_block_t*)'
  [A] 'function void* msi_desc_to_pci_sysdata(msi_desc*)'
  [A] 'function bool netlink_net_capable(const sk_buff*, int)'
  [A] 'function nf_conntrack_tuple_hash* nf_conntrack_find_get(net*, const nf_conntrack_zone*, const nf_conntrack_tuple*)'
  [A] 'function bool nf_ct_get_tuplepr(const sk_buff*, unsigned int, u_int16_t, net*, nf_conntrack_tuple*)'
  [A] 'function bool nf_ct_invert_tuple(nf_conntrack_tuple*, const nf_conntrack_tuple*)'
  [A] 'function const nf_conntrack_l4proto* nf_ct_l4proto_find(u8)'
  [A] 'function bool ns_capable(user_namespace*, int)'
  [A] 'function unsigned int of_clk_get_parent_count(const device_node*)'
  [A] 'function dma_chan* of_dma_simple_xlate(of_phandle_args*, of_dma*)'
  [A] 'function void* of_fdt_unflatten_tree(const unsigned long int*, device_node*, device_node**)'
  [A] 'function int of_genpd_add_subdomain(of_phandle_args*, of_phandle_args*)'
  [A] 'function int of_get_drm_display_mode(device_node*, drm_display_mode*, u32*, int)'
  [A] 'function int of_hwspin_lock_get_id_byname(device_node*, const char*)'
  [A] 'function int of_irq_to_resource(device_node*, int, resource*)'
  [A] 'function int of_modalias_node(device_node*, char*, int)'
  [A] 'function nvmem_cell* of_nvmem_cell_get(device_node*, const char*)'
  [A] 'function pwm_device* of_pwm_get(device*, device_node*, const char*)'
  [A] 'function reset_control* of_reset_control_array_get(device_node*, bool, bool, bool)'
  [A] 'function void orderly_poweroff(bool)'
  [A] 'function int out_of_line_wait_on_bit_lock(void*, int, wait_bit_action_f*, unsigned int)'
  [A] 'function const char* page_get_link(dentry*, inode*, delayed_call*)'
  [A] 'function void pci_assign_unassigned_bus_resources(pci_bus*)'
  [A] 'function bool pci_check_and_mask_intx(pci_dev*)'
  [A] 'function bool pci_check_and_unmask_intx(pci_dev*)'
  [A] 'function void pci_disable_msix(pci_dev*)'
  [A] 'function int pci_enable_msix_range(pci_dev*, msix_entry*, int, int)'
  [A] 'function void* pci_ioremap_wc_bar(pci_dev*, int)'
  [A] 'function void pci_lock_rescan_remove()'
  [A] 'function int pci_msi_vec_count(pci_dev*)'
  [A] 'function int pci_request_regions(pci_dev*, const char*)'
  [A] 'function int pci_reset_function(pci_dev*)'
  [A] 'function unsigned int pci_scan_child_bus(pci_bus*)'
  [A] 'function void pci_stop_and_remove_bus_device(pci_dev*)'
  [A] 'function void pci_unlock_rescan_remove()'
  [A] 'function int pcie_capability_read_dword(pci_dev*, int, u32*)'
  [A] 'function int phy_mii_ioctl(phy_device*, ifreq*, int)'
  [A] 'function pinctrl_dev* pinctrl_register(pinctrl_desc*, device*, void*)'
  [A] 'function int pinctrl_utils_add_map_mux(pinctrl_dev*, pinctrl_map**, unsigned int*, unsigned int*, const char*, const char*)'
  [A] 'function void pm_get_active_wakeup_sources(char*, size_t)'
  [A] 'function void pm_print_active_wakeup_sources()'
  [A] 'function posix_acl* posix_acl_from_xattr(user_namespace*, void*, size_t)'
  [A] 'function power_supply_battery_ocv_table* power_supply_find_ocv2cap_table(power_supply_battery_info*, int, int*)'
  [A] 'function int power_supply_get_battery_info(power_supply*, power_supply_battery_info*)'
  [A] 'function int power_supply_ocv2cap_simple(power_supply_battery_ocv_table*, int, int)'
  [A] 'function int power_supply_powers(power_supply*, device*)'
  [A] 'function void power_supply_put_battery_info(power_supply*, power_supply_battery_info*)'
  [A] 'function int power_supply_temp2resist_simple(power_supply_resistance_temp_table*, int, int)'
  [A] 'function int ppp_channel_index(ppp_channel*)'
  [A] 'function char* ppp_dev_name(ppp_channel*)'
  [A] 'function void ppp_input(ppp_channel*, sk_buff*)'
  [A] 'function void ppp_input_error(ppp_channel*, int)'
  [A] 'function void ppp_output_wakeup(ppp_channel*)'
  [A] 'function int ppp_register_channel(ppp_channel*)'
  [A] 'function int ppp_register_compressor(compressor*)'
  [A] 'function int ppp_register_net_channel(net*, ppp_channel*)'
  [A] 'function int ppp_unit_number(ppp_channel*)'
  [A] 'function void ppp_unregister_channel(ppp_channel*)'
  [A] 'function void ppp_unregister_compressor(compressor*)'
  [A] 'function int pppox_compat_ioctl(socket*, unsigned int, unsigned long int)'
  [A] 'function int pppox_ioctl(socket*, unsigned int, unsigned long int)'
  [A] 'function void pppox_unbind_sock(sock*)'
  [A] 'function cred* prepare_kernel_cred(task_struct*)'
  [A] 'function proc_dir_entry* proc_create_net_data(const char*, umode_t, proc_dir_entry*, const seq_operations*, unsigned int, void*)'
  [A] 'function proc_dir_entry* proc_create_seq_private(const char*, umode_t, proc_dir_entry*, const seq_operations*, unsigned int, void*)'
  [A] 'function int pskb_trim_rcsum_slow(sk_buff*, unsigned int)'
  [A] 'function void put_disk(gendisk*)'
  [A] 'function void put_pages_list(list_head*)'
  [A] 'function unsigned int radix_tree_gang_lookup(const xarray*, void**, unsigned long int, unsigned int)'
  [A] 'function int radix_tree_preload(gfp_t)'
  [A] 'function void rc_keydown(rc_dev*, rc_proto, u64, u8)'
  [A] 'function int rc_map_register(rc_map_list*)'
  [A] 'function void rc_map_unregister(rc_map_list*)'
  [A] 'function void rc_repeat(rc_dev*)'
  [A] 'function page* read_cache_page_gfp(address_space*, unsigned long int, gfp_t)'
  [A] 'function int register_key_type(key_type*)'
  [A] 'function ctl_table_header* register_net_sysctl(net*, const char*, ctl_table*)'
  [A] 'function int register_pppox_proto(int, const pppox_proto*)'
  [A] 'function int register_tcf_proto_ops(tcf_proto_ops*)'
  [A] 'function int regmap_get_reg_stride(regmap*)'
  [A] 'function unsigned int regulator_get_linear_step(regulator*)'
  [A] 'function key* request_key_tag(key_type*, const char*, key_tag*, const char*)'
  [A] 'function void reset_control_put(reset_control*)'
  [A] 'function rt6_info* rt6_lookup(net*, const in6_addr*, const in6_addr*, int, const sk_buff*, int)'
  [A] 'function int scsi_add_host_with_dma(Scsi_Host*, device*, device*)'
  [A] 'function void scsi_eh_prep_cmnd(scsi_cmnd*, scsi_eh_save*, unsigned char*, int, unsigned int)'
  [A] 'function void scsi_eh_restore_cmnd(scsi_cmnd*, scsi_eh_save*)'
  [A] 'function scsi_device* scsi_get_host_dev(Scsi_Host*)'
  [A] 'function Scsi_Host* scsi_host_alloc(scsi_host_template*, int)'
  [A] 'function void scsi_host_put(Scsi_Host*)'
  [A] 'function int scsi_is_host_device(const device*)'
  [A] 'function void scsi_remove_host(Scsi_Host*)'
  [A] 'function void scsi_report_bus_reset(Scsi_Host*, int)'
  [A] 'function void scsi_report_device_reset(Scsi_Host*, int, int)'
  [A] 'function void scsi_scan_host(Scsi_Host*)'
  [A] 'function const u8* scsi_sense_desc_find(const u8*, int, int)'
  [A] 'function int scsi_test_unit_ready(scsi_device*, int, int, scsi_sense_hdr*)'
  [A] 'function void sdhci_enable_v4_mode(sdhci_host*)'
  [A] 'function void sdhci_request(mmc_host*, mmc_request*)'
  [A] 'function int sdhci_request_atomic(mmc_host*, mmc_request*)'
  [A] 'function int sdhci_runtime_resume_host(sdhci_host*, int)'
  [A] 'function int sdhci_runtime_suspend_host(sdhci_host*)'
  [A] 'function int sdio_memcpy_fromio(sdio_func*, void*, unsigned int, int)'
  [A] 'function int sdio_memcpy_toio(sdio_func*, unsigned int, void*, int)'
  [A] 'function u16 sdio_readw(sdio_func*, unsigned int, int*)'
  [A] 'function void sdio_writew(sdio_func*, u16, unsigned int, int*)'
  [A] 'function void security_sk_classify_flow(sock*, flowi_common*)'
  [A] 'function void seq_vprintf(seq_file*, const char*, va_list)'
  [A] 'function int set_blocksize(block_device*, int)'
  [A] 'function void setattr_copy(user_namespace*, inode*, const iattr*)'
  [A] 'function int setattr_prepare(user_namespace*, dentry*, iattr*)'
  [A] 'function bool sg_miter_skip(sg_mapping_iter*, off_t)'
  [A] 'function int sg_nents_for_len(scatterlist*, u64)'
  [A] 'function const char* simple_get_link(dentry*, inode*, delayed_call*)'
  [A] 'function void sk_setup_caps(sock*, dst_entry*)'
  [A] 'function int skb_checksum_help(sk_buff*)'
  [A] 'function int skb_cow_data(sk_buff*, int, sk_buff**)'
  [A] 'function int skb_ensure_writable(sk_buff*, int)'
  [A] 'function void skb_scrub_packet(sk_buff*, bool)'
  [A] 'function int skb_to_sgvec_nomark(sk_buff*, scatterlist*, int, int)'
  [A] 'function int slhc_compress(slcompress*, unsigned char*, int, unsigned char*, unsigned char**, int)'
  [A] 'function void slhc_free(slcompress*)'
  [A] 'function slcompress* slhc_init(int, int)'
  [A] 'function int slhc_remember(slcompress*, unsigned char*, int)'
  [A] 'function int slhc_toss(slcompress*)'
  [A] 'function int slhc_uncompress(slcompress*, unsigned char*, int)'
  [A] 'function int smpboot_register_percpu_thread(smp_hotplug_thread*)'
  [A] 'function void snd_info_free_entry(snd_info_entry*)'
  [A] 'function int snd_info_register(snd_info_entry*)'
  [A] 'function int snd_pcm_hw_constraint_mask64(snd_pcm_runtime*, snd_pcm_hw_param_t, u_int64_t)'
  [A] 'function unsigned int snd_pcm_rate_bit_to_rate(unsigned int)'
  [A] 'function unsigned int snd_pcm_rate_to_rate_bit(unsigned int)'
  [A] 'function int snd_soc_of_parse_audio_simple_widgets(snd_soc_card*, const char*)'
  [A] 'function int snd_soc_of_parse_tdm_slot(device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)'
  [A] 'function int sock_diag_destroy(sock*, int)'
  [A] 'function sk_buff* sock_wmalloc(sock*, unsigned long int, int, gfp_t)'
  [A] 'function void start_tty(tty_struct*)'
  [A] 'function void stop_tty(tty_struct*)'
  [A] 'function int submit_bio_wait(bio*)'
  [A] 'function int sync_blockdev(block_device*)'
  [A] 'function int sync_mapping_buffers(address_space*)'
  [A] 'function regmap* syscon_regmap_lookup_by_phandle_args(device_node*, const char*, int, unsigned int*)'
  [A] 'function int tcf_action_exec(sk_buff*, tc_action**, int, tcf_result*)'
  [A] 'function void tcf_exts_destroy(tcf_exts*)'
  [A] 'function int tcf_exts_dump(sk_buff*, tcf_exts*)'
  [A] 'function int tcf_exts_dump_stats(sk_buff*, tcf_exts*)'
  [A] 'function int tcf_exts_validate(net*, tcf_proto*, nlattr**, nlattr*, tcf_exts*, u32, netlink_ext_ack*)'
  [A] 'function bool tcf_queue_work(rcu_work*, work_func_t)'
  [A] 'function tcpm_port* tcpm_register_port(device*, tcpc_dev*)'
  [A] 'function void tcpm_unregister_port(tcpm_port*)'
  [A] 'function void touch_buffer(buffer_head*)'
  [A] 'function int trace_define_field(trace_event_call*, const char*, const char*, int, int, int, int)'
  [A] 'function int trace_set_clr_event(const char*, const char*, int)'
  [A] 'function void truncate_inode_pages(address_space*, loff_t)'
  [A] 'function void truncate_pagecache(inode*, loff_t)'
  [A] 'function void truncate_setsize(inode*, loff_t)'
  [A] 'function void tty_ldisc_deref(tty_ldisc*)'
  [A] 'function tty_ldisc* tty_ldisc_ref(tty_struct*)'
  [A] 'function void tty_port_close(tty_port*, tty_struct*, file*)'
  [A] 'function void tty_port_destroy(tty_port*)'
  [A] 'function void tty_port_hangup(tty_port*)'
  [A] 'function void tty_port_init(tty_port*)'
  [A] 'function void tty_port_link_device(tty_port*, tty_driver*, unsigned int)'
  [A] 'function int tty_port_open(tty_port*, tty_struct*, file*)'
  [A] 'function void tty_port_put(tty_port*)'
  [A] 'function device* tty_port_register_device(tty_port*, tty_driver*, unsigned int, device*)'
  [A] 'function void tty_port_tty_hangup(tty_port*, bool)'
  [A] 'function void tty_port_tty_wakeup(tty_port*)'
  [A] 'function int tty_register_driver(tty_driver*)'
  [A] 'function void tty_schedule_flip(tty_port*)'
  [A] 'function int tty_standard_install(tty_driver*, tty_struct*)'
  [A] 'function void tty_termios_copy_hw(ktermios*, ktermios*)'
  [A] 'function void tty_unregister_device(tty_driver*, unsigned int)'
  [A] 'function void tty_unregister_driver(tty_driver*)'
  [A] 'function void tty_unthrottle(tty_struct*)'
  [A] 'function void tty_vhangup(tty_struct*)'
  [A] 'function void typec_altmode_attention(typec_altmode*, u32)'
  [A] 'function int typec_altmode_notify(typec_altmode*, unsigned long int, void*)'
  [A] 'function void typec_altmode_update_active(typec_altmode*, bool)'
  [A] 'function int typec_altmode_vdm(typec_altmode*, const u32, const u32*, int)'
  [A] 'function int typec_find_power_role(const char*)'
  [A] 'function typec_altmode* typec_match_altmode(typec_altmode**, size_t, u16, u8)'
  [A] 'function typec_altmode* typec_partner_register_altmode(typec_partner*, const typec_altmode_desc*)'
  [A] 'function typec_altmode* typec_port_register_altmode(typec_port*, const typec_altmode_desc*)'
  [A] 'function int typec_set_mode(typec_port*, int)'
  [A] 'function void typec_unregister_altmode(typec_altmode*)'
  [A] 'function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)'
  [A] 'function void unregister_key_type(key_type*)'
  [A] 'function void unregister_pppox_proto(int)'
  [A] 'function int unregister_tcf_proto_ops(tcf_proto_ops*)'
  [A] 'function int usb_autopm_get_interface_async(usb_interface*)'
  [A] 'function void usb_autopm_get_interface_no_resume(usb_interface*)'
  [A] 'function void usb_autopm_put_interface_async(usb_interface*)'
  [A] 'function void usb_autopm_put_interface_no_suspend(usb_interface*)'
  [A] 'function int usb_clear_halt(usb_device*, int)'
  [A] 'function int usb_find_common_endpoints(usb_host_interface*, usb_endpoint_descriptor**, usb_endpoint_descriptor**, usb_endpoint_descriptor**, usb_endpoint_descriptor**)'
  [A] 'function int usb_gadget_map_request_by_dev(device*, usb_request*, int)'
  [A] 'function usb_interface* usb_get_intf(usb_interface*)'
  [A] 'function int usb_hcd_map_urb_for_dma(usb_hcd*, urb*, gfp_t)'
  [A] 'function void usb_hcd_unmap_urb_for_dma(usb_hcd*, urb*)'
  [A] 'function int usb_lock_device_for_reset(usb_device*, const usb_interface*)'
  [A] 'function int usb_match_one_id(usb_interface*, const usb_device_id*)'
  [A] 'function void usb_phy_get_charger_current(usb_phy*, unsigned int*, unsigned int*)'
  [A] 'function void usb_phy_set_charger_state(usb_phy*, usb_charger_state)'
  [A] 'function void usb_poison_urb(urb*)'
  [A] 'function void usb_put_intf(usb_interface*)'
  [A] 'function int usb_reset_device(usb_device*)'
  [A] 'function void usb_sg_cancel(usb_sg_request*)'
  [A] 'function int usb_sg_init(usb_sg_request*, usb_device*, unsigned int, unsigned int, scatterlist*, int, size_t, gfp_t)'
  [A] 'function void usb_sg_wait(usb_sg_request*)'
  [A] 'function ssize_t usb_show_dynids(usb_dynids*, char*)'
  [A] 'function ssize_t usb_store_new_id(usb_dynids*, const usb_device_id*, device_driver*, const char*, size_t)'
  [A] 'function int usb_unlink_urb(urb*)'
  [A] 'function void usb_unpoison_urb(urb*)'
  [A] 'function void user_destroy(key*)'
  [A] 'function long int user_read(const key*, char*, size_t)'
  [A] 'function void user_revoke(key*)'
  [A] 'function int utf16s_to_utf8s(const wchar_t*, int, utf16_endian, u8*, int)'
  [A] 'function int utf8s_to_utf16s(const u8*, int, utf16_endian, wchar_t*, int)'
  [A] 'function int vm_insert_page(vm_area_struct*, unsigned long int, page*)'
  [A] 'function void vm_unmap_aliases()'
  [A] 'function vm_fault_t vmf_insert_pfn(vm_area_struct*, unsigned long int, unsigned long int)'
  [A] 'function int vsscanf(const char*, const char*, va_list)'
  [A] 'function int write_inode_now(inode*, int)'
  [A] 'function int xfrm4_protocol_deregister(xfrm4_protocol*, unsigned char)'
  [A] 'function int xfrm4_protocol_register(xfrm4_protocol*, unsigned char)'
  [A] 'function int xfrm4_rcv(sk_buff*)'
  [A] 'function int xfrm4_tunnel_deregister(xfrm_tunnel*, unsigned short int)'
  [A] 'function int xfrm4_tunnel_register(xfrm_tunnel*, unsigned short int)'
  [A] 'function int xfrm6_protocol_deregister(xfrm6_protocol*, unsigned char)'
  [A] 'function int xfrm6_protocol_register(xfrm6_protocol*, unsigned char)'
  [A] 'function int xfrm6_rcv(sk_buff*)'
  [A] 'function xfrm_algo_desc* xfrm_aalg_get_byname(const char*, int)'
  [A] 'function int xfrm_init_state(xfrm_state*)'
  [A] 'function int xfrm_input(sk_buff*, int, __be32, int)'
  [A] 'function int xfrm_input_resume(sk_buff*, int)'
  [A] 'function dst_entry* xfrm_lookup(net*, dst_entry*, const flowi*, const sock*, int)'
  [A] 'function int xfrm_output_resume(sk_buff*, int)'
  [A] 'function int xfrm_register_type(const xfrm_type*, unsigned short int)'
  [A] 'function xfrm_state_afinfo* xfrm_state_afinfo_get_rcu(unsigned int)'
  [A] 'function xfrm_state* xfrm_state_alloc(net*)'
  [A] 'function void xfrm_state_insert(xfrm_state*)'
  [A] 'function xfrm_state* xfrm_state_lookup(net*, u32, const xfrm_address_t*, __be32, u8, unsigned short int)'
  [A] 'function void xfrm_unregister_type(const xfrm_type*, unsigned short int)'
  [A] 'function nf_hook_ops* xt_hook_ops_alloc(const xt_table*, nf_hookfn*)'
  [A] 'function int xt_register_match(xt_match*)'
  [A] 'function int xt_register_matches(xt_match*, unsigned int)'
  [A] 'function int xt_register_target(xt_target*)'
  [A] 'function int xt_register_targets(xt_target*, unsigned int)'
  [A] 'function void xt_unregister_match(xt_match*)'
  [A] 'function void xt_unregister_matches(xt_match*, unsigned int)'
  [A] 'function void xt_unregister_target(xt_target*)'
  [A] 'function void xt_unregister_targets(xt_target*, unsigned int)'
  [A] 'function int zlib_inflate(z_streamp, int)'
  [A] 'function int zlib_inflateEnd(z_streamp)'
  [A] 'function int zlib_inflateIncomp(z_stream*)'
  [A] 'function int zlib_inflateInit2(z_streamp, int)'
  [A] 'function int zlib_inflateReset(z_streamp)'

11 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_tk_based_time_sync'
  [A] 'const u16 crc_ccitt_table[256]'
  [A] 'const file_operations generic_ro_fops'
  [A] 'atomic_t ignore_console_lock_warning'
  [A] 'user_namespace init_user_ns'
  [A] 'const xattr_handler posix_acl_access_xattr_handler'
  [A] 'const xattr_handler posix_acl_default_xattr_handler'
  [A] 'raw_hashinfo raw_v4_hashinfo'
  [A] 'raw_hashinfo raw_v6_hashinfo'
  [A] 'ktermios tty_std_termios'
  [A] 'static_key xt_tee_enabled'

3 Added variable symbols not referenced by debug info:

  [A] crypto_aes_inv_sbox
  [A] crypto_aes_sbox
  [A] fb_mode_option

Bug: 227282653
Change-Id: I5051006793cfc9f1d6266c0554018f8976118f2d
Signed-off-by: Jian Gong <Jian.Gong@unisoc.com>
2022-04-11 14:59:47 +08:00
Jack Pham
bfa8ef2119 ANDROID: GKI: Add USB audio and XHCI symbols to QCOM ABI
Add additional symbols to the ABI to support the vendor
module implementation of USB audio offload.

Leaf changes summary: 17 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 15 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 2 Added variables

15 Added functions:

  [A] 'function void _snd_pcm_hw_params_any(snd_pcm_hw_params*)'
  [A] 'function int snd_usb_autoresume(snd_usb_audio*)'
  [A] 'function void snd_usb_autosuspend(snd_usb_audio*)'
  [A] 'function void snd_usb_endpoint_close(snd_usb_audio*, snd_usb_endpoint*)'
  [A] 'function int snd_usb_endpoint_configure(snd_usb_audio*, snd_usb_endpoint*)'
  [A] 'function snd_usb_endpoint* snd_usb_endpoint_open(snd_usb_audio*, const audioformat*, const snd_pcm_hw_params*, bool)'
  [A] 'function xhci_command* xhci_alloc_command(xhci_hcd*, bool, gfp_t)'
  [A] 'function int xhci_alloc_erst(xhci_hcd*, xhci_ring*, xhci_erst*, gfp_t)'
  [A] 'function void xhci_free_command(xhci_hcd*, xhci_command*)'
  [A] 'function void xhci_free_erst(xhci_hcd*, xhci_erst*)'
  [A] 'function int xhci_queue_stop_endpoint(xhci_hcd*, xhci_command*, int, unsigned int, int)'
  [A] 'function xhci_ring* xhci_ring_alloc(xhci_hcd*, unsigned int, unsigned int, xhci_ring_type, unsigned int, gfp_t)'
  [A] 'function void xhci_ring_cmd_db(xhci_hcd*)'
  [A] 'function void xhci_ring_free(xhci_hcd*, xhci_ring*)'
  [A] 'function dma_addr_t xhci_trb_virt_to_dma(xhci_segment*, xhci_trb*)'

2 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_audio_usb_offload_disconnect'
  [A] 'tracepoint __tracepoint_android_vh_audio_usb_offload_connect'

Bug: 224904393
Change-Id: I2124254760e63aae05c18a9c8a8405c313e1c5c5
Signed-off-by: Jack Pham <quic_jackp@quicinc.com>
2022-04-08 15:32:54 -07:00
Jack Pham
4da208a0b0 ANDROID: usb: host: export additional xhci symbols for ring management
Export the following xhci symbols which will allow vendor modules
to perform their own ring management. These will be used to create
and manage additional secondary rings that are used to offload to a
separate coprocessor which interacts with the xHC controller.

xhci_ring_alloc
xhci_ring_free
    - Allocate and free a struct xhci_ring.

xhci_alloc_erst
xhci_free_erst
    - Allocate and free event ring segment tables.

xhci_trb_virt_to_dma
    - Used to retrieve the DMA address of a TRB

xhci_ring_cmd_db
    - Notify the controller when a new command is issued

xhci_alloc_command
xhci_free_command
    - Allocate and free a struct xhci_command

xhci_queue_stop_endpoint
    - Issue a stop endpoint command to the controller

Bug: 228259895
Change-Id: I9d4c5884108e656e890aca8137d4ef580bcd7a12
Signed-off-by: Jack Pham <quic_jackp@quicinc.com>
2022-04-08 15:32:51 -07:00
Jack Pham
4dad64ab32 ANDROID: sound: usb: Export symbols for endpoint management
Export the following symbols which are needed to support
USB audio offload to a co-processor.

snd_usb_autoresume
snd_usb_autosuspend
snd_usb_endpoint_open
snd_usb_endpoint_close
snd_usb_endpoint_configure

Bug: 224904393
Change-Id: I8feaa225c7b869592b395815b3a7be47813c7aac
Signed-off-by: Jack Pham <quic_jackp@quicinc.com>
2022-04-08 15:32:49 -07:00
Jack Pham
982c7ee3e3 ANDROID: sound: usb: Add vendor hooks for connect & disconnect
Add vendor hooks to capture when a USB audio interface is probed
and disconnected.  These will allow for supporting offloading of
audio device handling to a co-processor.

The disconnect hook needs to be restricted as the additional
vendor handling may need to perform operations (such as
wait_for_completion) in non-atomic context.

Bug: 224904393
Change-Id: Idf1da95556814e0ffbdc5f9fb5a25563ebee9be2
Signed-off-by: Jack Pham <quic_jackp@quicinc.com>
2022-04-08 15:28:33 -07:00
Chun-Hung Wu
d5d14b8ff8 ANDROID: add initial symbol list for mtk
1. update mtk symbol list and abi.xml
2. update mtk entry in build.config.gki.aarch64

Leaf changes summary: 438 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 392 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 46 Added variables
Function symbols changes summary: 0 Removed, 0 Added function symbol not referenced by debug info
Variable symbols changes summary: 0 Removed, 1 Added variable symbol not referenced by debug info

392 Added functions:

  [A] 'function void* __devm_alloc_percpu(device*, size_t, size_t)'
  [A] 'function int __devm_mdiobus_register(device*, mii_bus*, module*)'
  [A] 'function int __mdiobus_register(mii_bus*, module*)'
  [A] 'function int __scsi_execute(scsi_device*, const unsigned char*, int, void*, unsigned int, unsigned char*, scsi_sense_hdr*, int, int, u64, req_flags_t, int*)'
  [A] 'function int __traceiter_android_rvh_after_enqueue_task(void*, rq*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_commit_creds(void*, const task_struct*, const cred*)'
  [A] 'function int __traceiter_android_rvh_enqueue_task(void*, rq*, task_struct*, int)'
  [A] 'function int __traceiter_android_rvh_exit_creds(void*, const task_struct*, const cred*)'
  [A] 'function int __traceiter_android_rvh_find_busiest_group(void*, sched_group*, rq*, int*)'
  [A] 'function int __traceiter_android_rvh_finish_prio_fork(void*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_new_task_stats(void*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_override_creds(void*, const task_struct*, const cred*)'
  [A] 'function int __traceiter_android_rvh_prepare_prio_fork(void*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_revert_creds(void*, const task_struct*, const cred*)'
  [A] 'function int __traceiter_android_rvh_rtmutex_prepare_setprio(void*, task_struct*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_sched_newidle_balance(void*, rq*, rq_flags*, int*, int*)'
  [A] 'function int __traceiter_android_rvh_select_task_rq_fair(void*, task_struct*, int, int, int, int*)'
  [A] 'function int __traceiter_android_rvh_selinux_avc_insert(void*, const avc_node*)'
  [A] 'function int __traceiter_android_rvh_selinux_avc_lookup(void*, const avc_node*, u32, u32, u16)'
  [A] 'function int __traceiter_android_rvh_selinux_avc_node_delete(void*, const avc_node*)'
  [A] 'function int __traceiter_android_rvh_selinux_avc_node_replace(void*, const avc_node*, const avc_node*)'
  [A] 'function int __traceiter_android_rvh_selinux_is_initialized(void*, const selinux_state*)'
  [A] 'function int __traceiter_android_rvh_set_user_nice(void*, task_struct*, long int*, bool*)'
  [A] 'function int __traceiter_android_rvh_setscheduler(void*, task_struct*)'
  [A] 'function int __traceiter_android_rvh_tick_entry(void*, rq*)'
  [A] 'function int __traceiter_android_rvh_update_cpu_capacity(void*, int, unsigned long int*)'
  [A] 'function int __traceiter_android_vh_alter_futex_plist_add(void*, plist_node*, plist_head*, bool*)'
  [A] 'function int __traceiter_android_vh_alter_rwsem_list_add(void*, rwsem_waiter*, rw_semaphore*, bool*)'
  [A] 'function int __traceiter_android_vh_binder_restore_priority(void*, binder_transaction*, task_struct*)'
  [A] 'function int __traceiter_android_vh_binder_set_priority(void*, binder_transaction*, task_struct*)'
  [A] 'function int __traceiter_android_vh_binder_transaction_init(void*, binder_transaction*)'
  [A] 'function int __traceiter_android_vh_cgroup_attach(void*, cgroup_subsys*, cgroup_taskset*)'
  [A] 'function int __traceiter_android_vh_cgroup_set_task(void*, int, task_struct*)'
  [A] 'function int __traceiter_android_vh_check_bpf_syscall(void*, int, const bpf_attr*, unsigned int)'
  [A] 'function int __traceiter_android_vh_check_file_open(void*, const file*)'
  [A] 'function int __traceiter_android_vh_check_mmap_file(void*, const file*, unsigned long int, unsigned long int, unsigned long int)'
  [A] 'function int __traceiter_android_vh_iommu_iovad_alloc_iova(void*, device*, iova_domain*, dma_addr_t, size_t)'
  [A] 'function int __traceiter_android_vh_iommu_iovad_free_iova(void*, iova_domain*, dma_addr_t, size_t)'
  [A] 'function int __traceiter_android_vh_is_fpsimd_save(void*, task_struct*, task_struct*)'
  [A] 'function int __traceiter_android_vh_logbuf(void*, printk_ringbuffer*, printk_record*)'
  [A] 'function int __traceiter_android_vh_rwsem_init(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_rwsem_wake(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_rwsem_write_finished(void*, rw_semaphore*)'
  [A] 'function int __traceiter_android_vh_scheduler_tick(void*, rq*)'
  [A] 'function int __traceiter_android_vh_set_memory_nx(void*, unsigned long int, int)'
  [A] 'function int __traceiter_android_vh_set_memory_rw(void*, unsigned long int, int)'
  [A] 'function int __traceiter_android_vh_set_module_permit_after_init(void*, const module*)'
  [A] 'function int __traceiter_android_vh_set_module_permit_before_init(void*, const module*)'
  [A] 'function int __traceiter_android_vh_set_wake_flags(void*, int*, unsigned int*)'
  [A] 'function int __traceiter_android_vh_show_resume_epoch_val(void*, u64)'
  [A] 'function int __traceiter_android_vh_show_suspend_epoch_val(void*, u64, u64)'
  [A] 'function int __traceiter_android_vh_syscall_prctl_finished(void*, int, task_struct*)'
  [A] 'function int __traceiter_task_newtask(void*, task_struct*, unsigned long int)'
  [A] 'function int __v4l2_ctrl_modify_range(v4l2_ctrl*, s64, s64, u64, s64)'
  [A] 'function int __v4l2_ctrl_s_ctrl(v4l2_ctrl*, s32)'
  [A] 'function int __v4l2_ctrl_s_ctrl_compound(v4l2_ctrl*, v4l2_ctrl_type, void*)'
  [A] 'function int __v4l2_device_register_subdev_nodes(v4l2_device*, bool)'
  [A] 'function void* __v4l2_find_nearest_size(void*, size_t, size_t, size_t, size_t, s32, s32)'
  [A] 'function int _raw_read_trylock(rwlock_t*)'
  [A] 'function void alarm_start(alarm*, ktime_t)'
  [A] 'function void bitmap_free(const unsigned long int*)'
  [A] 'function unsigned long int* bitmap_zalloc(unsigned int, gfp_t)'
  [A] 'function int cfg80211_register_netdevice(net_device*)'
  [A] 'function int clocksource_mmio_init(void*, const char*, unsigned long int, int, unsigned int, typedef u64 (clocksource*)*)'
  [A] 'function u64 clocksource_mmio_readl_up(clocksource*)'
  [A] 'function int component_add_typed(device*, const component_ops*, int)'
  [A] 'function void component_match_add_typed(device*, component_match**, int (device*, int, void*)*, void*)'
  [A] 'function void cpu_hotplug_disable()'
  [A] 'function void cpu_hotplug_enable()'
  [A] 'function int cpufreq_frequency_table_get_index(cpufreq_policy*, unsigned int)'
  [A] 'function void cpufreq_update_limits(unsigned int)'
  [A] 'function void cpuidle_driver_state_disabled(cpuidle_driver*, int, bool)'
  [A] 'function cpuidle_driver* cpuidle_get_driver()'
  [A] 'function void cpuidle_pause_and_lock()'
  [A] 'function void cpuidle_resume_and_unlock()'
  [A] 'function int dapm_clock_event(snd_soc_dapm_widget*, snd_kcontrol*, int)'
  [A] 'function unsigned int dapm_kcontrol_get_value(const snd_kcontrol*)'
  [A] 'function dentry* debugfs_create_blob(const char*, umode_t, dentry*, debugfs_blob_wrapper*)'
  [A] 'function int dev_change_flags(net_device*, unsigned int, netlink_ext_ack*)'
  [A] 'function void dev_pm_clear_wake_irq(device*)'
  [A] 'function device* dev_pm_domain_attach_by_id(device*, unsigned int)'
  [A] 'function int dev_pm_set_dedicated_wake_irq(device*, int)'
  [A] 'function int dev_set_mac_address(net_device*, sockaddr*, netlink_ext_ack*)'
  [A] 'function int device_create_bin_file(device*, const bin_attribute*)'
  [A] 'function void device_link_remove(void*, device*)'
  [A] 'function void device_remove_bin_file(device*, const bin_attribute*)'
  [A] 'function int device_rename(device*, const char*)'
  [A] 'function void device_set_of_node_from_dev(device*, const device*)'
  [A] 'function ssize_t device_show_bool(device*, device_attribute*, char*)'
  [A] 'function ssize_t device_store_bool(device*, device_attribute*, const char*, size_t)'
  [A] 'function pwm_device* devm_fwnode_pwm_get(device*, fwnode_handle*, const char*)'
  [A] 'function iio_channel* devm_iio_channel_get_all(device*)'
  [A] 'function void devm_led_classdev_unregister(device*, led_classdev*)'
  [A] 'function mii_bus* devm_mdiobus_alloc_size(device*, int)'
  [A] 'function power_supply* devm_power_supply_get_by_phandle(device*, const char*)'
  [A] 'function rc_dev* devm_rc_allocate_device(device*, rc_driver_type)'
  [A] 'function int devm_rc_register_device(device*, rc_dev*)'
  [A] 'function int devm_regmap_field_bulk_alloc(device*, regmap*, regmap_field**, const reg_field*, int)'
  [A] 'function void devm_regulator_unregister_notifier(regulator*, notifier_block*)'
  [A] 'function int devm_rtc_nvmem_register(rtc_device*, nvmem_config*)'
  [A] 'function int dma_fence_signal_timestamp_locked(dma_fence*, ktime_t)'
  [A] 'function void dma_heap_buffer_free(dma_buf*)'
  [A] 'function void dma_run_dependencies(dma_async_tx_descriptor*)'
  [A] 'function int drm_atomic_helper_resume(drm_device*, drm_atomic_state*)'
  [A] 'function drm_atomic_state* drm_atomic_helper_suspend(drm_device*)'
  [A] 'function void drm_atomic_helper_wait_for_vblanks(drm_device*, drm_atomic_state*)'
  [A] 'function void drm_atomic_state_default_release(drm_atomic_state*)'
  [A] 'function int drm_atomic_state_init(drm_device*, drm_atomic_state*)'
  [A] 'function void drm_dp_aux_init(drm_dp_aux*)'
  [A] 'function edid* drm_edid_duplicate(const edid*)'
  [A] 'function int drm_edid_to_sad(edid*, cea_sad**)'
  [A] 'function void drm_framebuffer_cleanup(drm_framebuffer*)'
  [A] 'function drm_framebuffer* drm_framebuffer_lookup(drm_device*, drm_file*, uint32_t)'
  [A] 'function void drm_framebuffer_remove(drm_framebuffer*)'
  [A] 'function bool drm_is_current_master(drm_file*)'
  [A] 'function void drm_kms_helper_poll_disable(drm_device*)'
  [A] 'function void drm_kms_helper_poll_enable(drm_device*)'
  [A] 'function void drm_mode_set_crtcinfo(drm_display_mode*, int)'
  [A] 'function void drm_mode_set_name(drm_display_mode*)'
  [A] 'function em_perf_domain* em_cpu_get(int)'
  [A] 'function int em_dev_register_perf_domain(device*, unsigned int, em_data_callback*, cpumask_t*, bool)'
  [A] 'function int eth_header_cache(const neighbour*, hh_cache*, __be16)'
  [A] 'function void eth_header_cache_update(hh_cache*, const net_device*, const unsigned char*)'
  [A] 'function pid* find_pid_ns(int, pid_namespace*)'
  [A] 'function void for_each_kernel_tracepoint(void (tracepoint*, void*)*, void*)'
  [A] 'function int freq_qos_add_notifier(freq_constraints*, freq_qos_req_type, notifier_block*)'
  [A] 'function int freq_qos_remove_notifier(freq_constraints*, freq_qos_req_type, notifier_block*)'
  [A] 'function int fsg_common_create_luns(fsg_common*, fsg_config*)'
  [A] 'function int fsg_common_set_cdev(fsg_common*, usb_composite_dev*, bool)'
  [A] 'function void fsg_common_set_inquiry_string(fsg_common*, const char*, const char*)'
  [A] 'function void fsg_common_set_sysfs(fsg_common*, bool)'
  [A] 'function void fsg_config_from_params(fsg_config*, const fsg_module_parameters*, unsigned int)'
  [A] 'function bool fwnode_device_is_available(const fwnode_handle*)'
  [A] 'function fwnode_handle* fwnode_graph_get_next_endpoint(const fwnode_handle*, fwnode_handle*)'
  [A] 'function fwnode_handle* fwnode_graph_get_port_parent(const fwnode_handle*)'
  [A] 'function fwnode_handle* fwnode_graph_get_remote_endpoint(const fwnode_handle*)'
  [A] 'function fwnode_handle* fwnode_graph_get_remote_port_parent(const fwnode_handle*)'
  [A] 'function int fwnode_graph_parse_endpoint(const fwnode_handle*, fwnode_endpoint*)'
  [A] 'function int fwnode_property_get_reference_args(const fwnode_handle*, const char*, const char*, unsigned int, unsigned int, fwnode_reference_args*)'
  [A] 'function int fwnode_property_read_u64_array(const fwnode_handle*, const char*, u64*, size_t)'
  [A] 'function int genphy_resume(phy_device*)'
  [A] 'function s32 i2c_smbus_read_i2c_block_data(const i2c_client*, u8, u8, u8*)'
  [A] 'function s32 i2c_smbus_write_i2c_block_data(const i2c_client*, u8, u8, const u8*)'
  [A] 'function s32 i2c_smbus_write_word_data(const i2c_client*, u8, u16)'
  [A] 'function void icc_node_del(icc_node*)'
  [A] 'function void icc_node_destroy(int)'
  [A] 'function iio_poll_func* iio_alloc_pollfunc(typedef irqreturn_t (int, void*)*, typedef irqreturn_t (int, void*)*, int, iio_dev*, const char*, ...)'
  [A] 'function void iio_buffer_init(iio_buffer*)'
  [A] 'function void iio_buffer_put(iio_buffer*)'
  [A] 'function iio_channel* iio_channel_get(device*, const char*)'
  [A] 'function void iio_channel_release(iio_channel*)'
  [A] 'function void iio_dealloc_pollfunc(iio_poll_func*)'
  [A] 'function int iio_device_attach_buffer(iio_dev*, iio_buffer*)'
  [A] 'function int iio_device_id(iio_dev*)'
  [A] 'function int iio_get_channel_type(iio_channel*, iio_chan_type*)'
  [A] 'function s64 iio_get_time_ns(const iio_dev*)'
  [A] 'function int iio_push_to_buffers(iio_dev*, void*)'
  [A] 'function int iio_read_channel_attribute(iio_channel*, int*, int*, iio_chan_info_enum)'
  [A] 'function int iio_read_channel_raw(iio_channel*, int*)'
  [A] 'function void iio_trigger_notify_done(iio_trigger*)'
  [A] 'function int ipv6_skip_exthdr(const sk_buff*, int, u8*, __be16*)'
  [A] 'function int irq_domain_xlate_onetwocell(irq_domain*, device_node*, const u32*, unsigned int, unsigned long int*, unsigned int*)'
  [A] 'function int irq_set_chip(unsigned int, irq_chip*)'
  [A] 'function void irq_work_run()'
  [A] 'function u64 jiffies_64_to_clock_t(u64)'
  [A] 'function kernfs_node* kernfs_find_and_get_ns(kernfs_node*, const char*, void*)'
  [A] 'function void kernfs_notify(kernfs_node*)'
  [A] 'function int kernfs_path_from_node(kernfs_node*, kernfs_node*, char*, size_t)'
  [A] 'function void kernfs_put(kernfs_node*)'
  [A] 'function void ksys_sync_helper()'
  [A] 'function bool kthread_queue_delayed_work(kthread_worker*, kthread_delayed_work*, unsigned long int)'
  [A] 'function int led_get_flash_fault(led_classdev_flash*, u32*)'
  [A] 'function int led_set_brightness_sync(led_classdev*, unsigned int)'
  [A] 'function int led_set_flash_brightness(led_classdev_flash*, u32)'
  [A] 'function int led_set_flash_timeout(led_classdev_flash*, u32)'
  [A] 'function void led_sysfs_disable(led_classdev*)'
  [A] 'function void led_sysfs_enable(led_classdev*)'
  [A] 'function void led_trigger_remove(led_classdev*)'
  [A] 'function int led_update_brightness(led_classdev*)'
  [A] 'function int led_update_flash_brightness(led_classdev_flash*)'
  [A] 'function void linear_range_get_selector_within(const linear_range*, unsigned int, unsigned int*)'
  [A] 'function int linear_range_get_value(const linear_range*, unsigned int, unsigned int*)'
  [A] 'function int match_hex(substring_t*, int*)'
  [A] 'function int match_int(substring_t*, int*)'
  [A] 'function int match_token(char*, const match_token*, substring_t*)'
  [A] 'function mii_bus* mdiobus_alloc_size(size_t)'
  [A] 'function void mdiobus_free(mii_bus*)'
  [A] 'function void mdiobus_unregister(mii_bus*)'
  [A] 'function media_pad* media_entity_remote_pad(const media_pad*)'
  [A] 'function void media_entity_remove_links(media_entity*)'
  [A] 'function media_entity* media_graph_walk_next(media_graph*)'
  [A] 'function void media_graph_walk_start(media_graph*, media_entity*)'
  [A] 'function int media_pipeline_start(media_entity*, media_pipeline*)'
  [A] 'function void media_pipeline_stop(media_entity*)'
  [A] 'function media_request* media_request_get_by_fd(media_device*, int)'
  [A] 'function void media_request_object_complete(media_request_object*)'
  [A] 'function void media_request_put(media_request*)'
  [A] 'function unsigned int mii_check_media(mii_if_info*, unsigned int, unsigned int)'
  [A] 'function int mii_link_ok(mii_if_info*)'
  [A] 'function ssize_t mipi_dsi_dcs_write(mipi_dsi_device*, u8, void*, size_t)'
  [A] 'function ssize_t mipi_dsi_generic_read(mipi_dsi_device*, void*, size_t, void*, size_t)'
  [A] 'function ssize_t mipi_dsi_generic_write(mipi_dsi_device*, void*, size_t)'
  [A] 'function time64_t mktime64(const unsigned int, const unsigned int, const unsigned int, const unsigned int, const unsigned int, const unsigned int)'
  [A] 'function bool mmc_can_gpio_cd(mmc_host*)'
  [A] 'function int mmc_cmdq_disable(mmc_card*)'
  [A] 'function int mmc_cmdq_enable(mmc_card*)'
  [A] 'function void mmc_detect_change(mmc_host*, unsigned long int)'
  [A] 'function void mmc_get_card(mmc_card*, mmc_ctx*)'
  [A] 'function void mmc_put_card(mmc_card*, mmc_ctx*)'
  [A] 'function void mmc_set_data_timeout(mmc_data*, const mmc_card*)'
  [A] 'function int mmc_switch(mmc_card*, u8, u8, u8, unsigned int)'
  [A] 'function int mod_timer_pending(timer_list*, unsigned long int)'
  [A] 'function u64 mul_u64_u64_div_u64(u64, u64, u64)'
  [A] 'function int mutex_lock_killable(mutex*)'
  [A] 'function int n_tty_ioctl_helper(tty_struct*, file*, unsigned int, unsigned long int)'
  [A] 'function void neigh_destroy(neighbour*)'
  [A] 'function neighbour* neigh_lookup(neigh_table*, void*, net_device*)'
  [A] 'function void net_selftest(net_device*, ethtool_test*, u64*)'
  [A] 'function int net_selftest_get_count()'
  [A] 'function void net_selftest_get_strings(u8*)'
  [A] 'function void netif_receive_skb_list(list_head*)'
  [A] 'function int nf_register_net_hooks(net*, const nf_hook_ops*, unsigned int)'
  [A] 'function void nf_unregister_net_hooks(net*, const nf_hook_ops*, unsigned int)'
  [A] 'function int nvmem_cell_read_u32(device*, const char*, u32*)'
  [A] 'function nvmem_device* nvmem_device_get(device*, const char*)'
  [A] 'function dma_chan* of_dma_xlate_by_chan_id(of_phandle_args*, of_dma*)'
  [A] 'function backlight_device* of_find_backlight_by_node(device_node*)'
  [A] 'function int of_genpd_add_device(of_phandle_args*, device*)'
  [A] 'function device_node* of_get_parent(const device_node*)'
  [A] 'function int of_irq_to_resource_table(device_node*, resource*, int)'
  [A] 'function int of_remove_property(device_node*, property*)'
  [A] 'function void on_each_cpu_cond_mask(smp_cond_func_t, smp_call_func_t, void*, bool, const cpumask*)'
  [A] 'function page* page_pool_alloc_pages(page_pool*, gfp_t)'
  [A] 'function page_pool* page_pool_create(const page_pool_params*)'
  [A] 'function void page_pool_put_page(page_pool*, page*, unsigned int, bool)'
  [A] 'function int param_get_bool(char*, const kernel_param*)'
  [A] 'function int param_get_charp(char*, const kernel_param*)'
  [A] 'function int param_get_uint(char*, const kernel_param*)'
  [A] 'function int param_get_ulong(char*, const kernel_param*)'
  [A] 'function int param_set_charp(const char*, const kernel_param*)'
  [A] 'function int param_set_uint(const char*, const kernel_param*)'
  [A] 'function int param_set_ulong(const char*, const kernel_param*)'
  [A] 'function pci_power_t pci_choose_state(pci_dev*, pm_message_t)'
  [A] 'function void pcim_iounmap_regions(pci_dev*, int)'
  [A] 'function void phy_attached_info(phy_device*)'
  [A] 'function phy_device* phy_connect(net_device*, const char*, void (net_device*)*, phy_interface_t)'
  [A] 'function void phy_disconnect(phy_device*)'
  [A] 'function int phy_do_ioctl_running(net_device*, ifreq*, int)'
  [A] 'function int phy_ethtool_get_link_ksettings(net_device*, ethtool_link_ksettings*)'
  [A] 'function int phy_ethtool_nway_reset(net_device*)'
  [A] 'function int phy_ethtool_set_link_ksettings(net_device*, const ethtool_link_ksettings*)'
  [A] 'function phy* phy_get(device*, const char*)'
  [A] 'function void phy_print_status(phy_device*)'
  [A] 'function void phy_put(device*, phy*)'
  [A] 'function void phy_start(phy_device*)'
  [A] 'function void phy_stop(phy_device*)'
  [A] 'function int phy_suspend(phy_device*)'
  [A] 'function int pinconf_generic_parse_dt_config(device_node*, pinctrl_dev*, unsigned long int**, unsigned int*)'
  [A] 'function int pinctrl_gpio_direction_input(unsigned int)'
  [A] 'function int pinctrl_gpio_direction_output(unsigned int)'
  [A] 'function void pinctrl_put(pinctrl*)'
  [A] 'function int pinctrl_utils_add_map_configs(pinctrl_dev*, pinctrl_map**, unsigned int*, unsigned int*, const char*, unsigned long int*, unsigned int, pinctrl_map_type)'
  [A] 'function int pinctrl_utils_reserve_map(pinctrl_dev*, pinctrl_map**, unsigned int*, unsigned int*, unsigned int)'
  [A] 'function int platform_get_irq_byname_optional(platform_device*, const char*)'
  [A] 'function int pm_genpd_add_device(generic_pm_domain*, device*)'
  [A] 'function int pm_genpd_remove_device(device*)'
  [A] 'function bool pm_suspend_default_s2idle()'
  [A] 'function void rcu_idle_enter()'
  [A] 'function void rcu_idle_exit()'
  [A] 'function device* rdev_get_dev(regulator_dev*)'
  [A] 'function regmap* rdev_get_regmap(regulator_dev*)'
  [A] 'function irq_domain* regmap_irq_get_domain(regmap_irq_chip_data*)'
  [A] 'function int regulator_list_voltage(regulator*, unsigned int)'
  [A] 'function int regulator_list_voltage_table(regulator_dev*, unsigned int)'
  [A] 'function int regulator_map_voltage_iterate(regulator_dev*, int, int)'
  [A] 'function int regulator_map_voltage_linear_range(regulator_dev*, int, int)'
  [A] 'function int regulator_set_active_discharge_regmap(regulator_dev*, bool)'
  [A] 'function int regulator_set_voltage_time_sel(regulator_dev*, unsigned int, unsigned int)'
  [A] 'function int regulator_sync_voltage(regulator*)'
  [A] 'function void release_pages(page**, int)'
  [A] 'function int reset_controller_register(reset_controller_dev*)'
  [A] 'function void rpmsg_destroy_ept(rpmsg_endpoint*)'
  [A] 'function rtc_time rtc_ktime_to_tm(ktime_t)'
  [A] 'function ktime_t rtc_tm_to_ktime(rtc_time)'
  [A] 'function void sched_clock_register(typedef u64 ()*, int, unsigned long int)'
  [A] 'function int scsi_device_quiesce(scsi_device*)'
  [A] 'function void scsi_print_sense_hdr(const scsi_device*, const char*, const scsi_sense_hdr*)'
  [A] 'function void sdio_claim_host(sdio_func*)'
  [A] 'function int sdio_claim_irq(sdio_func*, sdio_irq_handler_t*)'
  [A] 'function int sdio_disable_func(sdio_func*)'
  [A] 'function int sdio_enable_func(sdio_func*)'
  [A] 'function unsigned char sdio_f0_readb(sdio_func*, unsigned int, int*)'
  [A] 'function void sdio_f0_writeb(sdio_func*, unsigned char, unsigned int, int*)'
  [A] 'function mmc_pm_flag_t sdio_get_host_pm_caps(sdio_func*)'
  [A] 'function u8 sdio_readb(sdio_func*, unsigned int, int*)'
  [A] 'function u32 sdio_readl(sdio_func*, unsigned int, int*)'
  [A] 'function int sdio_readsb(sdio_func*, void*, unsigned int, int)'
  [A] 'function int sdio_register_driver(sdio_driver*)'
  [A] 'function void sdio_release_host(sdio_func*)'
  [A] 'function int sdio_release_irq(sdio_func*)'
  [A] 'function int sdio_set_block_size(sdio_func*, unsigned int)'
  [A] 'function int sdio_set_host_pm_flags(sdio_func*, mmc_pm_flag_t)'
  [A] 'function void sdio_signal_irq(mmc_host*)'
  [A] 'function void sdio_unregister_driver(sdio_driver*)'
  [A] 'function void sdio_writeb(sdio_func*, u8, unsigned int, int*)'
  [A] 'function void sdio_writel(sdio_func*, u32, unsigned int, int*)'
  [A] 'function int sdio_writesb(sdio_func*, unsigned int, void*, int)'
  [A] 'function int send_sig(int, task_struct*, int)'
  [A] 'function int seq_open_private(file*, const seq_operations*, int)'
  [A] 'function void serial8250_do_shutdown(uart_port*)'
  [A] 'function int serial8250_do_startup(uart_port*)'
  [A] 'function uart_8250_port* serial8250_get_port(int)'
  [A] 'function void serial8250_rpm_get(uart_8250_port*)'
  [A] 'function void serial8250_rpm_put(uart_8250_port*)'
  [A] 'function size_t sg_copy_from_buffer(scatterlist*, unsigned int, void*, size_t)'
  [A] 'function size_t sg_copy_to_buffer(scatterlist*, unsigned int, void*, size_t)'
  [A] 'function int snd_card_add_dev_attr(snd_card*, const attribute_group*)'
  [A] 'function void snd_pcm_lib_preallocate_free_for_all(snd_pcm*)'
  [A] 'function void snd_pcm_lib_preallocate_pages_for_all(snd_pcm*, int, void*, size_t, size_t)'
  [A] 'function void snd_soc_component_exit_regmap(snd_soc_component*)'
  [A] 'function int snd_soc_dapm_enable_pin(snd_soc_dapm_context*, const char*)'
  [A] 'function int snd_soc_dapm_get_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)'
  [A] 'function int snd_soc_dapm_info_pin_switch(snd_kcontrol*, snd_ctl_elem_info*)'
  [A] 'function int snd_soc_dapm_new_widgets(snd_soc_card*)'
  [A] 'function int snd_soc_dapm_put_pin_switch(snd_kcontrol*, snd_ctl_elem_value*)'
  [A] 'function int snd_soc_poweroff(device*)'
  [A] 'function int snd_soc_resume(device*)'
  [A] 'function snd_soc_component* snd_soc_rtdcom_lookup(snd_soc_pcm_runtime*, const char*)'
  [A] 'function int spi_delay_to_ns(spi_delay*, spi_transfer*)'
  [A] 'function int sprint_symbol_no_offset(char*, unsigned long int)'
  [A] 'function regmap* syscon_regmap_lookup_by_compatible(const char*)'
  [A] 'function int sysfs_create_bin_file(kobject*, const bin_attribute*)'
  [A] 'function void sysfs_remove_bin_file(kobject*, const bin_attribute*)'
  [A] 'function int timer_of_init(device_node*, timer_of*)'
  [A] 'function void tty_driver_flush_buffer(tty_struct*)'
  [A] 'function void* typec_mux_get_drvdata(typec_mux*)'
  [A] 'function typec_mux* typec_mux_register(device*, const typec_mux_desc*)'
  [A] 'function int typec_mux_set(typec_mux*, typec_mux_state*)'
  [A] 'function void typec_mux_unregister(typec_mux*)'
  [A] 'function int typec_partner_set_identity(typec_partner*)'
  [A] 'function void typec_set_vconn_role(typec_port*, typec_role)'
  [A] 'function void ufshcd_delay_us(unsigned long int, unsigned long int)'
  [A] 'function int ufshcd_hba_enable(ufs_hba*)'
  [A] 'function int ufshcd_link_recovery(ufs_hba*)'
  [A] 'function int ufshcd_make_hba_operational(ufs_hba*)'
  [A] 'function void ufshcd_update_evt_hist(ufs_hba*, u32, u32)'
  [A] 'function int unregister_module_notifier(notifier_block*)'
  [A] 'function int usb_add_config(usb_composite_dev*, usb_configuration*, int (usb_configuration*)*)'
  [A] 'function int usb_composite_probe(usb_composite_driver*)'
  [A] 'function void usb_composite_unregister(usb_composite_driver*)'
  [A] 'function unsigned int usb_decode_interval(const usb_endpoint_descriptor*, usb_device_speed)'
  [A] 'function const char* usb_ep_type_string(int)'
  [A] 'function int usb_gadget_connect(usb_gadget*)'
  [A] 'function int usb_gadget_disconnect(usb_gadget*)'
  [A] 'function int usb_gadget_probe_driver(usb_gadget_driver*)'
  [A] 'function int usb_gadget_set_selfpowered(usb_gadget*)'
  [A] 'function usb_function* usb_get_function(usb_function_instance*)'
  [A] 'function usb_function_instance* usb_get_function_instance(const char*)'
  [A] 'function usb_device_speed usb_get_maximum_speed(device*)'
  [A] 'function usb_dr_mode usb_get_role_switch_default_mode(device*)'
  [A] 'function usb_string* usb_gstrings_attach(usb_composite_dev*, usb_gadget_strings**, unsigned int)'
  [A] 'function config_group* usb_os_desc_prepare_interf_dir(config_group*, int, usb_os_desc**, char**, module*)'
  [A] 'function void usb_put_function(usb_function*)'
  [A] 'function void usb_remove_function(usb_configuration*, usb_function*)'
  [A] 'function const char* usb_role_string(usb_role)'
  [A] 'function usb_role_switch* usb_role_switch_get(device*)'
  [A] 'function int usbnet_change_mtu(net_device*, int)'
  [A] 'function void usbnet_get_drvinfo(net_device*, ethtool_drvinfo*)'
  [A] 'function u32 usbnet_get_link(net_device*)'
  [A] 'function int usbnet_get_link_ksettings_mii(net_device*, ethtool_link_ksettings*)'
  [A] 'function int usbnet_set_link_ksettings_mii(net_device*, const ethtool_link_ksettings*)'
  [A] 'function void usbnet_unlink_rx_urbs(usbnet*)'
  [A] 'function long int v4l2_compat_ioctl32(file*, unsigned int, unsigned long int)'
  [A] 'function v4l2_ctrl* v4l2_ctrl_find(v4l2_ctrl_handler*, u32)'
  [A] 'function s32 v4l2_ctrl_g_ctrl(v4l2_ctrl*)'
  [A] 'function s64 v4l2_ctrl_g_ctrl_int64(v4l2_ctrl*)'
  [A] 'function v4l2_ctrl* v4l2_ctrl_new_std_menu_items(v4l2_ctrl_handler*, const v4l2_ctrl_ops*, u32, u8, u64, u8, const char* const*)'
  [A] 'function int v4l2_ctrl_subdev_subscribe_event(v4l2_subdev*, v4l2_fh*, v4l2_event_subscription*)'
  [A] 'function int v4l2_event_subdev_unsubscribe(v4l2_subdev*, v4l2_fh*, v4l2_event_subscription*)'
  [A] 'function const v4l2_format_info* v4l2_format_info(u32)'
  [A] 'function void v4l2_m2m_resume(v4l2_m2m_dev*)'
  [A] 'function void v4l2_m2m_suspend(v4l2_m2m_dev*)'
  [A] 'function int v4l2_pipeline_link_notify(media_link*, u32, unsigned int)'
  [A] 'function int v4l2_subdev_link_validate(media_link*)'
  [A] 'function int v4l2_subdev_link_validate_default(v4l2_subdev*, media_link*, v4l2_subdev_format*, v4l2_subdev_format*)'
  [A] 'function int vb2_ioctl_prepare_buf(file*, void*, v4l2_buffer*)'
  [A] 'function bool vb2_request_object_is_buffer(media_request_object*)'
  [A] 'function void vb2_request_queue(media_request*)'
  [A] 'function long int wait_for_completion_killable_timeout(completion*, unsigned long int)'
  [A] 'function void wakeup_source_remove(wakeup_source*)'
  [A] 'function long int work_on_cpu(int, long int (void*)*, void*)'
  [A] 'function int zlib_deflateEnd(z_streamp)'

46 Added variables:

  [A] 'tracepoint __tracepoint_android_rvh_commit_creds'
  [A] 'tracepoint __tracepoint_android_rvh_enqueue_task'
  [A] 'tracepoint __tracepoint_android_rvh_exit_creds'
  [A] 'tracepoint __tracepoint_android_rvh_find_busiest_group'
  [A] 'tracepoint __tracepoint_android_rvh_finish_prio_fork'
  [A] 'tracepoint __tracepoint_android_rvh_override_creds'
  [A] 'tracepoint __tracepoint_android_rvh_prepare_prio_fork'
  [A] 'tracepoint __tracepoint_android_rvh_revert_creds'
  [A] 'tracepoint __tracepoint_android_rvh_rtmutex_prepare_setprio'
  [A] 'tracepoint __tracepoint_android_rvh_selinux_avc_insert'
  [A] 'tracepoint __tracepoint_android_rvh_selinux_avc_lookup'
  [A] 'tracepoint __tracepoint_android_rvh_selinux_avc_node_delete'
  [A] 'tracepoint __tracepoint_android_rvh_selinux_avc_node_replace'
  [A] 'tracepoint __tracepoint_android_rvh_selinux_is_initialized'
  [A] 'tracepoint __tracepoint_android_rvh_set_user_nice'
  [A] 'tracepoint __tracepoint_android_rvh_setscheduler'
  [A] 'tracepoint __tracepoint_android_vh_alter_futex_plist_add'
  [A] 'tracepoint __tracepoint_android_vh_alter_rwsem_list_add'
  [A] 'tracepoint __tracepoint_android_vh_binder_transaction_init'
  [A] 'tracepoint __tracepoint_android_vh_cgroup_attach'
  [A] 'tracepoint __tracepoint_android_vh_cgroup_set_task'
  [A] 'tracepoint __tracepoint_android_vh_check_bpf_syscall'
  [A] 'tracepoint __tracepoint_android_vh_check_file_open'
  [A] 'tracepoint __tracepoint_android_vh_check_mmap_file'
  [A] 'tracepoint __tracepoint_android_vh_iommu_iovad_alloc_iova'
  [A] 'tracepoint __tracepoint_android_vh_iommu_iovad_free_iova'
  [A] 'tracepoint __tracepoint_android_vh_is_fpsimd_save'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_init'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_wake'
  [A] 'tracepoint __tracepoint_android_vh_rwsem_write_finished'
  [A] 'tracepoint __tracepoint_android_vh_set_memory_nx'
  [A] 'tracepoint __tracepoint_android_vh_set_memory_rw'
  [A] 'tracepoint __tracepoint_android_vh_set_module_permit_after_init'
  [A] 'tracepoint __tracepoint_android_vh_set_module_permit_before_init'
  [A] 'tracepoint __tracepoint_android_vh_set_wake_flags'
  [A] 'tracepoint __tracepoint_android_vh_syscall_prctl_finished'
  [A] 'tracepoint __tracepoint_task_newtask'
  [A] 'neigh_table arp_tbl'
  [A] 'rwlock_t dev_base_lock'
  [A] 'const font_desc font_vga_8x16'
  [A] 'const char hex_asc[17]'
  [A] 'neigh_table nd_tbl'
  [A] 'bus_type spi_bus_type'
  [A] 'workqueue_struct* system_freezable_power_efficient_wq'
  [A] 'const arch_timer_erratum_workaround* timer_unstable_counter_workaround'
  [A] 'const v4l2_subdev_ops v4l2_subdev_call_wrappers'

1 Added variable symbol not referenced by debug info:

  [A] console_drivers

Bug: 228415386
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
Change-Id: I6bff76e5f2c92465b03ab117de508b7f0eefbd99
2022-04-08 19:28:30 +00:00
Di Shen
12b8ef18b2 ANDROID: thermal: Add vendor hook to get thermal zone device
Need to get temperature data and config info from thermal zone device.

Bug: 208946028

Signed-off-by: Di Shen <di.shen@unisoc.com>
Signed-off-by: Jeson Gao <jeson.gao@unisoc.com>
Change-Id: I5945df5258181b4a441b6bbe09327099491418b3
(cherry picked from commit c53f0e3530)
2022-04-08 18:46:55 +00:00
Visweswara Tanuku
e21b6105a9 ANDROID: tty: serial: msm: geni: Do not access private data when console is disabled
uport private data is not initialized when console is disabled.

Prevent access of private data to avoid null pointer access in
system suspend/resume.

Bug: 228299196
Signed-off-by: Visweswara Tanuku <quic_vtanuku@quicinc.com>
Change-Id: I288a24e2c6bee091fa7c479de520958ea0bb3d17
2022-04-08 15:35:51 +00:00