Commit Graph

1149033 Commits

Author SHA1 Message Date
Junki Min
16107fbbff ANDROID: Update symbol list for Exynos SoC
6 function symbol(s) added
  'struct scsi_device* __scsi_device_lookup_by_target(struct scsi_target*, u64)'
  'void blk_crypto_reprogram_all_keys(struct blk_crypto_profile*)'
  'int cpufreq_unregister_notifier(struct notifier_block*, unsigned int)'
  'int i3c_master_defslvs_locked(struct i3c_master_controller*)'
  'int is_dma_buf_file(struct file*)'
  'bool printk_timed_ratelimit(unsigned long*, unsigned int)'

Bug: 278466304
Change-Id: I462748d99cb45ffaa56e6f09ca58379c65a7e4a8
Signed-off-by: Junki Min <joonki.min@samsung.com>
2023-04-26 16:17:31 +00:00
Greg Kroah-Hartman
55e4f0c551 Merge 6.1.25 into android14-6.1
Changes in 6.1.25
	Revert "pinctrl: amd: Disable and mask interrupts on resume"
	drm/amd/display: Pass the right info to drm_dp_remove_payload
	ALSA: emu10k1: fix capture interrupt handler unlinking
	ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
	ALSA: i2c/cs8427: fix iec958 mixer control deactivation
	ALSA: hda: patch_realtek: add quirk for Asus N7601ZM
	ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2
	ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
	ALSA: emu10k1: don't create old pass-through playback device on Audigy
	ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
	ALSA: hda/hdmi: disable KAE for Intel DG2
	Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
	Bluetooth: Fix race condition in hidp_session_thread
	bluetooth: btbcm: Fix logic error in forming the board name.
	Bluetooth: Free potentially unfreed SCO connection
	Bluetooth: hci_conn: Fix possible UAF
	btrfs: restore the thread_pool= behavior in remount for the end I/O workqueues
	btrfs: fix fast csum implementation detection
	fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
	mtdblock: tolerate corrected bit-flips
	mtd: rawnand: meson: fix bitmask for length in command word
	mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
	mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
	KVM: arm64: PMU: Restore the guest's EL0 event counting after migration
	fbcon: Fix error paths in set_con2fb_map
	fbcon: set_con2fb_map needs to set con2fb_map!
	drm/i915/dsi: fix DSS CTL register offsets for TGL+
	clk: sprd: set max_register according to mapping range
	RDMA/irdma: Do not generate SW completions for NOPs
	RDMA/irdma: Fix memory leak of PBLE objects
	RDMA/irdma: Increase iWARP CM default rexmit count
	RDMA/irdma: Add ipv4 check to irdma_find_listener()
	IB/mlx5: Add support for 400G_8X lane speed
	RDMA/erdma: Update default EQ depth to 4096 and max_send_wr to 8192
	RDMA/erdma: Inline mtt entries into WQE if supported
	RDMA/erdma: Defer probing if netdevice can not be found
	clk: rs9: Fix suspend/resume
	RDMA/cma: Allow UD qp_type to join multicast only
	bpf: tcp: Use sock_gen_put instead of sock_put in bpf_iter_tcp
	LoongArch, bpf: Fix jit to skip speculation barrier opcode
	dmaengine: apple-admac: Handle 'global' interrupt flags
	dmaengine: apple-admac: Set src_addr_widths capability
	dmaengine: apple-admac: Fix 'current_tx' not getting freed
	9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
	bpf, arm64: Fixed a BTI error on returning to patched function
	KVM: arm64: Initialise hypervisor copies of host symbols unconditionally
	KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs
	niu: Fix missing unwind goto in niu_alloc_channels()
	tcp: restrict net.ipv4.tcp_app_win
	bonding: fix ns validation on backup slaves
	iavf: refactor VLAN filter states
	iavf: remove active_cvlans and active_svlans bitmaps
	net: openvswitch: fix race on port output
	Bluetooth: hci_conn: Fix not cleaning up on LE Connection failure
	Bluetooth: Fix printing errors if LE Connection times out
	Bluetooth: SCO: Fix possible circular locking dependency sco_sock_getsockopt
	Bluetooth: Set ISO Data Path on broadcast sink
	drm/armada: Fix a potential double free in an error handling path
	qlcnic: check pci_reset_function result
	net: wwan: iosm: Fix error handling path in ipc_pcie_probe()
	cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex
	net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
	sctp: fix a potential overflow in sctp_ifwdtsn_skip
	RDMA/core: Fix GID entry ref leak when create_ah fails
	selftests: openvswitch: adjust datapath NL message declaration
	udp6: fix potential access to stale information
	net: macb: fix a memory corruption in extended buffer descriptor mode
	skbuff: Fix a race between coalescing and releasing SKBs
	libbpf: Fix single-line struct definition output in btf_dump
	ARM: 9290/1: uaccess: Fix KASAN false-positives
	ARM: dts: qcom: apq8026-lg-lenok: add missing reserved memory
	power: supply: rk817: Fix unsigned comparison with less than zero
	power: supply: cros_usbpd: reclassify "default case!" as debug
	power: supply: axp288_fuel_gauge: Added check for negative values
	selftests/bpf: Fix progs/find_vma_fail1.c build error.
	wifi: mwifiex: mark OF related data as maybe unused
	i2c: imx-lpi2c: clean rx/tx buffers upon new message
	i2c: hisi: Avoid redundant interrupts
	efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
	block: ublk_drv: mark device as LIVE before adding disk
	ACPI: video: Add backlight=native DMI quirk for Acer Aspire 3830TG
	drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
	hwmon: (peci/cputemp) Fix miscalculated DTS for SKX
	hwmon: (xgene) Fix ioremap and memremap leak
	verify_pefile: relax wrapper length check
	asymmetric_keys: log on fatal failures in PE/pkcs7
	nvme: send Identify with CNS 06h only to I/O controllers
	wifi: iwlwifi: mvm: fix mvmtxq->stopped handling
	wifi: iwlwifi: mvm: protect TXQ list manipulation
	drm/amdgpu: add mes resume when do gfx post soft reset
	drm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs
	drm/amdgpu/gfx: set cg flags to enter/exit safe mode
	ACPI: resource: Add Medion S17413 to IRQ override quirk
	x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h
	KVM: selftests: Move "struct hv_enlightenments" to x86_64/svm.h
	KVM: SVM: Add a proper field for Hyper-V VMCB enlightenments
	x86/hyperv: KVM: Rename "hv_enlightenments" to "hv_vmcb_enlightenments"
	KVM: SVM: Flush Hyper-V TLB when required
	tracing: Add trace_array_puts() to write into instance
	tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance
	maple_tree: fix write memory barrier of nodes once dead for RCU mode
	ksmbd: avoid out of bounds access in decode_preauth_ctxt()
	riscv: add icache flush for nommu sigreturn trampoline
	HID: intel-ish-hid: Fix kernel panic during warm reset
	net: sfp: initialize sfp->i2c_block_size at sfp allocation
	net: phy: nxp-c45-tja11xx: add remove callback
	net: phy: nxp-c45-tja11xx: fix unsigned long multiplication overflow
	scsi: ses: Handle enclosure with just a primary component gracefully
	x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
	cgroup: fix display of forceidle time at root
	cgroup/cpuset: Fix partition root's cpuset.cpus update bug
	cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
	drm/amd/pm: correct SMU13.0.7 pstate profiling clock settings
	drm/amd/pm: correct SMU13.0.7 max shader clock reporting
	mptcp: use mptcp_schedule_work instead of open-coding it
	mptcp: stricter state check in mptcp_worker
	ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
	ubi: Fix deadlock caused by recursively holding work_sem
	i2c: mchp-pci1xxxx: Update Timing registers
	powerpc/papr_scm: Update the NUMA distance table for the target node
	sched/fair: Fix imbalance overflow
	x86/rtc: Remove __init for runtime functions
	i2c: ocores: generate stop condition after timeout in polling mode
	cifs: fix negotiate context parsing
	nvme-pci: mark Lexar NM760 as IGNORE_DEV_SUBNQN
	nvme-pci: add NVME_QUIRK_BOGUS_NID for T-FORCE Z330 SSD
	cgroup/cpuset: Skip spread flags update on v2
	cgroup/cpuset: Make cpuset_fork() handle CLONE_INTO_CGROUP properly
	cgroup/cpuset: Add cpuset_can_fork() and cpuset_cancel_fork() methods
	Linux 6.1.25

Change-Id: Ib4d2c49ea9bacb8d8dbdb7b3a4eecce937016427
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 13:13:19 +00:00
Zhipeng Wang
e6092a18f6 ANDROID: ABI: Update symbol list for imx
3 function symbol(s) added
  'int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device*, u16*)'
  'struct irq_domain* platform_msi_create_irq_domain(struct fwnode_handle*, struct msi_domain_info*, struct irq_domain*)'
  'int snd_soc_dapm_nc_pin(struct snd_soc_dapm_context*, const char*)'

Bug: 277791334
Change-Id: Ied360a3b057971dd5fa2e4faa14fba9d571b2259
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-26 12:05:50 +00:00
Ulises Mendez Martinez
ab94b5f2e3 ANDROID: db845c: Update symbol list
The 6.1.24 release requires the addition of the symbol `strchrnul` for
the db845c target to build properly.

Bug: 279448025
Change-Id: I3643400271513fbd0bad68fca720039d3a5a98db
Signed-off-by: Ulises Mendez Martinez <umendez@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
cfe9bcec4d ANDROID: preserve CRC for xhci symbols
In release 6.1.24 a new .h file was included in the xhci code, which
caused the CRCs to change as some structures changed into "real"
structures instead of anonymous definitions.  So preserve the CRCs by
commenting out the #include if GENKSYMS is being calculated.

This will be removed the next KABI break, as it shouldn't be sticking
around long.

Bug: 161946584
Fixes: 167c05646f ("xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I59838b0af869d3e17fc73d72eb473190c50281fd
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
2039635543 Revert "raw: use net_hash_mix() in hash function"
This reverts commit 53a0031217.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I7fd2655234ff38dfe11a528e71c7772458a36328
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
cc7a00d2d6 Revert "raw: Fix NULL deref in raw_get_next()."
This reverts commit b34056bedf.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I3664de0db15ba207c8b35530840095083d376dd1
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
a3a763fb37 Revert "pwm: Make .get_state() callback return an error code"
This reverts commit 547cc8dae2.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I3ba5ae5485e8cfb709ad23885053a3db8112913b
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
6996d13954 Revert "pwm: hibvt: Explicitly set .polarity in .get_state()"
This reverts commit 98ba763cc9.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: Ic6c1286d261b9a502caeb8bac2244cd6037f291e
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
b8301c2638 Revert "pwm: cros-ec: Explicitly set .polarity in .get_state()"
This reverts commit 8a3a6a0aca.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I7126fe19db71c01814281eb6518f11ededccc3e3
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
301169bd8c Revert "pwm: iqs620a: Explicitly set .polarity in .get_state()"
This reverts commit 116a17f977.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: Ie8472f722dea420d2a1ee271b30e650b47f97579
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
46e1414454 Revert "pwm: sprd: Explicitly set .polarity in .get_state()"
This reverts commit c6af1a3ae7.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I3d34dbad550f7b142403332971783c9246c0ae6f
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
af88eb49be Revert "pwm: meson: Explicitly set .polarity in .get_state()"
This reverts commit 6f62d2d396.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I13e1e6e04d130a364e3c7294daceb50c8ed31957
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
9d29ba9c30 Revert "KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode"
This reverts commit eb3df96102.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: Icbc6a902a085e81fb1ba72666cae32527c2479cc
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
7ddb50fff2 Revert "KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow"
This reverts commit 508d71a677.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I1d646f16b36447aad59225c7a8a5e7bab1ca33f8
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
a8fa816c4d Revert "KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run"
This reverts commit 3d8c8a9ad5.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: I258e499d86f5f145e48369b856ee3c5df79d7283
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Greg Kroah-Hartman
067f7ca9fd Revert "KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU"
This reverts commit 74347b99d4.

It breaks the current Android kernel abi.  It will be brought back at
the next KABI break update.

Bug: 161946584
Change-Id: Ic2ad434700f477dbecc2fd0f66275c4b3fb11406
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-26 10:00:48 +00:00
Matthias Männich
6c0621608d Merge "Merge 6.1.24 into android14-6.1" into android14-6.1 2023-04-26 10:00:48 +00:00
Marc Zyngier
ef8b5cddf1 BACKPORT: KVM: arm64: Make vcpu flag updates non-preemptible
Per-vcpu flags are updated using a non-atomic RMW operation.
Which means it is possible to get preempted between the read and
write operations.

Another interesting thing to note is that preemption also updates
flags, as we have some flag manipulation in both the load and put
operations.

It is thus possible to lose information communicated by either
load or put, as the preempted flag update will overwrite the flags
when the thread is resumed. This is specially critical if either
load or put has stored information which depends on the physical
CPU the vcpu runs on.

This results in really elusive bugs, and kudos must be given to
Mostafa for the long hours of debugging, and finally spotting
the problem.

Fix it by disabling preemption during the RMW operation, which
ensures that the state stays consistent. Also upgrade vcpu_get_flag
path to use READ_ONCE() to make sure the field is always atomically
accessed.

Fixes: e87abb73e5 ("KVM: arm64: Add helpers to manipulate vcpu flags among a set")
Reported-by: Mostafa Saleh <smostafa@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20230418125737.2327972-1-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
(cherry picked from commit 35dcb3ac66)
[willdeacon@: also update __vcpu_copy_flag()]
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 278750073
Change-Id: I63058ff1494e4092dab9d29cb66c295dd8fe9d86
2023-04-26 07:36:22 +00:00
Fuad Tabba
73e072e857 BACKPORT: KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs
The existing pKVM code attempts to advertise CSV2/3 using values
initialized to 0, but never set. To advertise CSV2/3 to protected
guests, pass the CSV2/3 values to hyp when initializing hyp's
view of guests' ID_AA64PFR0_EL1.

Similar to non-protected KVM, these are system-wide, rather than
per cpu, for simplicity.

Fixes: 6c30bfb18d ("KVM: arm64: Add handlers for protected VM System Registers")
Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://lore.kernel.org/r/20230404152321.413064-1-tabba@google.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
(cherry picked from commit e81625218b)
[willdeacon@: fixed_config.h has been moved into kvm_pkvm.h]
Signed-off-by: Will Deacon <willdeacon@google.com>
Bug: 278750073
Change-Id: I27821a28bcde0dbce3d45bac6cf4de20dcf299f9
2023-04-26 07:36:22 +00:00
Wesley Cheng
15e99e4bfa FROMGIT: usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
Several sequences utilize the same routine for forcing the control endpoint
back into the SETUP phase.  This is required, because those operations need
to ensure that EP0 is back in the default state.

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230420212759.29429-3-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 277690231
Change-Id: I9b468a021b04e765b074d9b48f46c6e828022705
(cherry picked from commit 8f40fc0808 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
2023-04-25 16:56:22 +00:00
Chun-Hung Wu
df1c3fcbc9 ANDROID: Update symbol list for mtk
363 function symbol(s) added
  '__arm_smccc_hvc'
  'int __device_reset(struct device*, bool)'
  'int __iio_device_register(struct iio_dev*, struct module*)'
  'void* __kmalloc_node(size_t, gfp_t, int)'
  'struct media_link* __media_entity_next_link(struct media_entity*, struct media_link*, unsigned long)'
  'void __napi_schedule_irqoff(struct napi_struct*)'
  'void* __netdev_alloc_frag_align(unsigned int, unsigned int)'
  'int __platform_register_drivers(struct platform_driver* const*, unsigned int, struct module*)'
  'void __put_cred(struct cred*)'
  'int __traceiter_android_rvh_find_energy_efficient_cpu(void*, struct task_struct*, int, int, int*)'
  'int __traceiter_android_rvh_find_new_ilb(void*, struct cpumask*, int*)'
  'int __traceiter_android_vh_alter_futex_plist_add(void*, struct plist_node*, struct plist_head*, bool*)'
  'int __traceiter_android_vh_alter_rwsem_list_add(void*, struct rwsem_waiter*, struct rw_semaphore*, bool*)'
  'int __traceiter_android_vh_arch_set_freq_scale(void*, const struct cpumask*, unsigned long, unsigned long, unsigned long*)'
  'int __traceiter_android_vh_cgroup_attach(void*, struct cgroup_subsys*, struct cgroup_taskset*)'
  'int __traceiter_android_vh_cgroup_set_task(void*, int, struct task_struct*)'
  'int __traceiter_android_vh_iommu_iovad_alloc_iova(void*, struct device*, struct iova_domain*, dma_addr_t, size_t)'
  'int __traceiter_android_vh_iommu_iovad_free_iova(void*, struct iova_domain*, dma_addr_t, size_t)'
  'int __traceiter_android_vh_rwsem_init(void*, struct rw_semaphore*)'
  'int __traceiter_android_vh_rwsem_wake(void*, struct rw_semaphore*)'
  'int __traceiter_android_vh_rwsem_write_finished(void*, struct rw_semaphore*)'
  'int __traceiter_android_vh_sched_pelt_multiplier(void*, unsigned int, unsigned int, int*)'
  'int __traceiter_android_vh_set_wake_flags(void*, int*, unsigned int*)'
  'int __traceiter_android_vh_syscall_prctl_finished(void*, int, struct task_struct*)'
  'int __traceiter_cpu_frequency(void*, unsigned int, unsigned int)'
  'int __traceiter_pelt_rt_tp(void*, struct rq*)'
  'int __traceiter_pelt_se_tp(void*, struct sched_entity*)'
  'int __traceiter_sched_update_nr_running_tp(void*, struct rq*, int)'
  'int __traceiter_task_newtask(void*, struct task_struct*, unsigned long)'
  'int __v4l2_ctrl_s_ctrl_compound(struct v4l2_ctrl*, enum v4l2_ctrl_type, const void*)'
  'const void* __v4l2_find_nearest_size(const void*, size_t, size_t, size_t, size_t, s32, s32)'
  'void __write_overflow_field(size_t, size_t)'
  'int _raw_read_trylock(rwlock_t*)'
  'enum arm_smccc_conduit arm_smccc_1_1_get_conduit()'
  'arm_smccc_1_2_hvc'
  'arm_smccc_1_2_smc'
  'u32 arm_smccc_get_version()'
  'void bio_init(struct bio*, struct block_device*, struct bio_vec*, unsigned short, blk_opf_t)'
  'int bitmap_find_free_region(unsigned long*, unsigned int, int)'
  'u32 blk_mq_unique_tag(struct request*)'
  'void clk_bulk_put(int, struct clk_bulk_data*)'
  'int clk_hw_get_parent_index(struct clk_hw*)'
  'int clk_hw_set_parent(struct clk_hw*, struct clk_hw*)'
  'struct clk* clk_register_composite(struct device*, const char*, const char* const*, int, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, unsigned long)'
  'struct clk* clk_register_divider_table(struct device*, const char*, const char*, unsigned long, void*, u8, u8, u8, const struct clk_div_table*, spinlock_t*)'
  'int component_add_typed(struct device*, const struct component_ops*, int)'
  'void component_match_add_typed(struct device*, struct component_match**, int(*)(struct device*, int, void*), void*)'
  'void cpu_hotplug_disable()'
  'void cpu_hotplug_enable()'
  'void cpufreq_add_update_util_hook(int, struct update_util_data*, void(*)(struct update_util_data*, u64, unsigned int))'
  'void cpufreq_remove_update_util_hook(int)'
  'bool cpufreq_this_cpu_can_update(struct cpufreq_policy*)'
  'void cpufreq_update_limits(unsigned int)'
  'void cpuidle_driver_state_disabled(struct cpuidle_driver*, int, bool)'
  'struct cpuidle_driver* cpuidle_get_driver()'
  'void cpuidle_pause_and_lock()'
  'void cpuidle_resume_and_unlock()'
  'void ct_idle_enter()'
  'void ct_idle_exit()'
  'int dapm_clock_event(struct snd_soc_dapm_widget*, struct snd_kcontrol*, int)'
  'unsigned int dapm_kcontrol_get_value(const struct snd_kcontrol*)'
  'void debugfs_create_regset32(const char*, umode_t, struct dentry*, struct debugfs_regset32*)'
  'struct device* dev_pm_domain_attach_by_id(struct device*, unsigned int)'
  'struct opp_table* dev_pm_opp_get_opp_table(struct device*)'
  'int dev_pm_opp_of_add_table_indexed(struct device*, int)'
  'void dev_pm_opp_put_opp_table(struct opp_table*)'
  'int dev_pm_set_dedicated_wake_irq_reverse(struct device*, int)'
  'struct devfreq* devfreq_get_devfreq_by_phandle(struct device*, const char*, int)'
  'int device_attach(struct device*)'
  'int device_match_any(struct device*, const void*)'
  'struct regmap* device_node_to_regmap(struct device_node*)'
  'void device_set_of_node_from_dev(struct device*, const struct device*)'
  'ssize_t device_show_bool(struct device*, struct device_attribute*, char*)'
  'ssize_t device_store_bool(struct device*, struct device_attribute*, const char*, size_t)'
  'int devm_devfreq_register_notifier(struct device*, struct devfreq*, struct notifier_block*, unsigned int)'
  'void devm_devfreq_remove_device(struct device*, struct devfreq*)'
  'void devm_devfreq_unregister_notifier(struct device*, struct devfreq*, struct notifier_block*, unsigned int)'
  'int devm_extcon_register_notifier(struct device*, struct extcon_dev*, unsigned int, struct notifier_block*)'
  'struct iio_channel* devm_iio_channel_get_all(struct device*)'
  'void devm_led_classdev_unregister(struct device*, struct led_classdev*)'
  'struct phy* devm_of_phy_get_by_index(struct device*, struct device_node*, int)'
  'struct phy* devm_phy_optional_get(struct device*, const char*)'
  'struct power_supply* devm_power_supply_get_by_phandle(struct device*, const char*)'
  'struct rc_dev* devm_rc_allocate_device(struct device*, enum rc_driver_type)'
  'int devm_rc_register_device(struct device*, struct rc_dev*)'
  'int devm_regmap_field_bulk_alloc(struct device*, struct regmap*, struct regmap_field**, const struct reg_field*, int)'
  'void devm_regulator_unregister_notifier(struct regulator*, struct notifier_block*)'
  'int devm_rtc_nvmem_register(struct rtc_device*, struct nvmem_config*)'
  'void devm_thermal_of_zone_unregister(struct device*, struct thermal_zone_device*)'
  'int dma_heap_bufferfd_alloc(struct dma_heap*, size_t, unsigned int, unsigned int)'
  'struct dma_fence* dma_resv_iter_first_unlocked(struct dma_resv_iter*)'
  'struct dma_fence* dma_resv_iter_next_unlocked(struct dma_resv_iter*)'
  'void dma_run_dependencies(struct dma_async_tx_descriptor*)'
  'int down_killable(struct semaphore*)'
  'int down_read_killable(struct rw_semaphore*)'
  'int down_write_killable(struct rw_semaphore*)'
  'int driver_create_file(struct device_driver*, const struct driver_attribute*)'
  'void driver_remove_file(struct device_driver*, const struct driver_attribute*)'
  'int drm_atomic_helper_resume(struct drm_device*, struct drm_atomic_state*)'
  'struct drm_atomic_state* drm_atomic_helper_suspend(struct drm_device*)'
  'int drm_edid_to_sad(const struct edid*, struct cea_sad**)'
  'void drm_framebuffer_cleanup(struct drm_framebuffer*)'
  'int drm_mode_crtc_set_gamma_size(struct drm_crtc*, int)'
  'int em_dev_register_perf_domain(struct device*, unsigned int, struct em_data_callback*, cpumask_t*, bool)'
  'int eth_header(struct sk_buff*, struct net_device*, unsigned short, const void*, const void*, unsigned int)'
  'int eth_header_cache(const struct neighbour*, struct hh_cache*, __be16)'
  'void eth_header_cache_update(struct hh_cache*, const struct net_device*, const unsigned char*)'
  'void eventfd_ctx_do_read(struct eventfd_ctx*, __u64*)'
  'char* file_path(struct file*, char*, int)'
  'int follow_pfn(struct vm_area_struct*, unsigned long, unsigned long*)'
  'void frame_vector_to_pfns(struct frame_vector*)'
  'int fsg_common_create_luns(struct fsg_common*, struct fsg_config*)'
  'int fsg_common_set_cdev(struct fsg_common*, struct usb_composite_dev*, bool)'
  'void fsg_common_set_inquiry_string(struct fsg_common*, const char*, const char*)'
  'void fsg_common_set_sysfs(struct fsg_common*, bool)'
  'void fsg_config_from_params(struct fsg_config*, const struct fsg_module_parameters*, unsigned int)'
  'bool fwnode_device_is_available(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_next_endpoint(const struct fwnode_handle*, struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_port_parent(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_endpoint(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_port_parent(const struct fwnode_handle*)'
  'int fwnode_graph_parse_endpoint(const struct fwnode_handle*, struct fwnode_endpoint*)'
  'int fwnode_property_get_reference_args(const struct fwnode_handle*, const char*, const char*, unsigned int, unsigned int, struct fwnode_reference_args*)'
  'int fwnode_property_read_u64_array(const struct fwnode_handle*, const char*, u64*, size_t)'
  'struct typec_mux* fwnode_typec_mux_get(struct fwnode_handle*, const struct typec_altmode_desc*)'
  'void* gen_pool_dma_zalloc(struct gen_pool*, size_t, dma_addr_t*)'
  'void gen_pool_for_each_chunk(struct gen_pool*, void(*)(struct gen_pool*, struct gen_pool_chunk*, void*), void*)'
  'int get_kernel_pages(const struct kvec*, int, int, struct page**)'
  'const struct cred* get_task_cred(struct task_struct*)'
  'long get_user_pages_remote(struct mm_struct*, unsigned long, unsigned long, unsigned int, struct page**, struct vm_area_struct**, int*)'
  'kvm_pfn_t gfn_to_pfn_memslot(const struct kvm_memory_slot*, gfn_t)'
  'void icc_node_del(struct icc_node*)'
  'void icc_node_destroy(int)'
  'struct iio_poll_func* iio_alloc_pollfunc(irqreturn_t(*)(int, void*), irqreturn_t(*)(int, void*), int, struct iio_dev*, const char*, ...)'
  'void iio_dealloc_pollfunc(struct iio_poll_func*)'
  'int iio_device_id(struct iio_dev*)'
  's64 iio_get_time_ns(const struct iio_dev*)'
  'int iio_read_channel_attribute(struct iio_channel*, int*, int*, enum iio_chan_info_enum)'
  'int iio_read_channel_raw(struct iio_channel*, int*)'
  'void iio_trigger_notify_done(struct iio_trigger*)'
  'void input_reset_device(struct input_dev*)'
  'int irq_domain_xlate_onetwocell(struct irq_domain*, struct device_node*, const u32*, unsigned int, unsigned long*, unsigned int*)'
  'int irq_set_chip(unsigned int, const struct irq_chip*)'
  'void irq_work_run()'
  'int iterate_dir(struct file*, struct dir_context*)'
  'u64 jiffies64_to_nsecs(u64)'
  'void kernel_sigaction(int, __sighandler_t)'
  'int kernfs_path_from_node(struct kernfs_node*, struct kernfs_node*, char*, size_t)'
  'const char* kmsg_dump_reason_str(enum kmsg_dump_reason)'
  'void ksys_sync_helper()'
  'int led_get_flash_fault(struct led_classdev_flash*, u32*)'
  'enum led_default_state led_init_default_state_get(struct fwnode_handle*)'
  'int led_set_brightness_sync(struct led_classdev*, unsigned int)'
  'int led_set_flash_brightness(struct led_classdev_flash*, u32)'
  'int led_set_flash_timeout(struct led_classdev_flash*, u32)'
  'void led_sysfs_disable(struct led_classdev*)'
  'void led_sysfs_enable(struct led_classdev*)'
  'void led_trigger_remove(struct led_classdev*)'
  'int led_update_brightness(struct led_classdev*)'
  'int led_update_flash_brightness(struct led_classdev_flash*)'
  'void linear_range_get_selector_within(const struct linear_range*, unsigned int, unsigned int*)'
  'int linear_range_get_value(const struct linear_range*, unsigned int, unsigned int*)'
  'int match_hex(substring_t*, int*)'
  'int match_int(substring_t*, int*)'
  'int match_token(char*, const struct match_token*, substring_t*)'
  'struct media_link* media_create_ancillary_link(struct media_entity*, struct media_entity*)'
  'struct media_link* media_create_intf_link(struct media_entity*, struct media_interface*, u32)'
  'int media_create_pad_link(struct media_entity*, u16, struct media_entity*, u16, u32)'
  'struct media_intf_devnode* media_devnode_create(struct media_device*, u32, u32, u32, u32)'
  'void media_devnode_remove(struct media_intf_devnode*)'
  'struct media_pipeline* media_entity_pipeline(struct media_entity*)'
  'void media_entity_remove_links(struct media_entity*)'
  'struct media_pad* media_pad_remote_pad_first(const struct media_pad*)'
  'struct media_pad* media_pad_remote_pad_unique(const struct media_pad*)'
  'int media_pipeline_start(struct media_pad*, struct media_pipeline*)'
  'void media_pipeline_stop(struct media_pad*)'
  'struct media_request* media_request_get_by_fd(struct media_device*, int)'
  'void media_request_object_complete(struct media_request_object*)'
  'void media_request_put(struct media_request*)'
  'ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device*, u8, const void*, size_t)'
  'ssize_t mipi_dsi_generic_read(struct mipi_dsi_device*, const void*, size_t, void*, size_t)'
  'time64_t mktime64(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)'
  'bool mmc_can_gpio_cd(struct mmc_host*)'
  'int mmc_cmdq_disable(struct mmc_card*)'
  'int mmc_cmdq_enable(struct mmc_card*)'
  'void mmc_detect_change(struct mmc_host*, unsigned long)'
  'void mmc_get_card(struct mmc_card*, struct mmc_ctx*)'
  'int mmc_get_ext_csd(struct mmc_card*, u8**)'
  'int mmc_hw_reset(struct mmc_card*)'
  'void mmc_put_card(struct mmc_card*, struct mmc_ctx*)'
  'void mmc_set_data_timeout(struct mmc_data*, const struct mmc_card*)'
  'int mmc_switch(struct mmc_card*, u8, u8, u8, unsigned int)'
  'void mmc_wait_for_req(struct mmc_host*, struct mmc_request*)'
  'int mod_timer_pending(struct timer_list*, unsigned long)'
  'u64 mul_u64_u64_div_u64(u64, u64, u64)'
  'int mutex_lock_killable(struct mutex*)'
  'struct nvmem_device* nvmem_device_get(struct device*, const char*)'
  'unsigned int of_clk_get_parent_count(const struct device_node*)'
  'struct thermal_cooling_device* of_devfreq_cooling_register_power(struct device_node*, struct devfreq*, struct devfreq_cooling_power*)'
  'struct dma_chan* of_dma_xlate_by_chan_id(struct of_phandle_args*, struct of_dma*)'
  'int of_genpd_add_device(struct of_phandle_args*, struct device*)'
  'int of_get_pci_domain_nr(struct device_node*)'
  'int of_irq_to_resource_table(struct device_node*, struct resource*, int)'
  'int of_remove_property(struct device_node*, struct property*)'
  'int param_get_bool(char*, const struct kernel_param*)'
  'int param_get_charp(char*, const struct kernel_param*)'
  'int param_get_ulong(char*, const struct kernel_param*)'
  'int param_set_charp(const char*, const struct kernel_param*)'
  'int param_set_ulong(const char*, const struct kernel_param*)'
  'bool pci_ats_supported(struct pci_dev*)'
  'void pci_disable_ats(struct pci_dev*)'
  'int pci_enable_ats(struct pci_dev*, int)'
  'int pci_generic_config_read32(struct pci_bus*, unsigned int, int, int, u32*)'
  'int pci_generic_config_write32(struct pci_bus*, unsigned int, int, int, u32)'
  'void pci_lock_rescan_remove()'
  'phys_addr_t pci_pio_to_address(unsigned long)'
  'void pci_remove_root_bus(struct pci_bus*)'
  'void pci_stop_root_bus(struct pci_bus*)'
  'void pci_unlock_rescan_remove()'
  'int pcim_enable_device(struct pci_dev*)'
  'int pcim_iomap_regions(struct pci_dev*, int, const char*)'
  'void* const* pcim_iomap_table(struct pci_dev*)'
  'void pcim_iounmap_regions(struct pci_dev*, int)'
  'struct phy* phy_get(struct device*, const char*)'
  'void phy_put(struct device*, struct phy*)'
  'int pinconf_generic_parse_dt_config(struct device_node*, struct pinctrl_dev*, unsigned long**, unsigned int*)'
  'int pinctrl_gpio_direction_input(unsigned int)'
  'int pinctrl_gpio_direction_output(unsigned int)'
  'int pinctrl_utils_add_map_configs(struct pinctrl_dev*, struct pinctrl_map**, unsigned int*, unsigned int*, const char*, unsigned long*, unsigned int, enum pinctrl_map_type)'
  'int pinctrl_utils_reserve_map(struct pinctrl_dev*, struct pinctrl_map**, unsigned int*, unsigned int*, unsigned int)'
  'void platform_unregister_drivers(struct platform_driver* const*, unsigned int)'
  'int pm_genpd_add_device(struct generic_pm_domain*, struct device*)'
  'int pm_genpd_remove_device(struct device*)'
  'bool pm_suspend_default_s2idle()'
  'int power_supply_is_system_supplied()'
  'const char* pstore_type_to_name(enum pstore_type_id)'
  'int radix_tree_maybe_preload(gfp_t)'
  'struct device* rdev_get_dev(struct regulator_dev*)'
  'struct regmap* rdev_get_regmap(struct regulator_dev*)'
  'struct irq_domain* regmap_irq_get_domain(struct regmap_irq_chip_data*)'
  'int regulator_list_voltage(struct regulator*, unsigned int)'
  'int regulator_list_voltage_table(struct regulator_dev*, unsigned int)'
  'int regulator_map_voltage_iterate(struct regulator_dev*, int, int)'
  'int regulator_set_voltage_time(struct regulator*, int, int)'
  'int regulator_set_voltage_time_sel(struct regulator_dev*, unsigned int, unsigned int)'
  'int regulator_sync_voltage(struct regulator*)'
  'void release_pages(struct page**, int)'
  'int reset_controller_register(struct reset_controller_dev*)'
  'void rpmsg_destroy_ept(struct rpmsg_endpoint*)'
  'struct device* rpmsg_find_device(struct device*, struct rpmsg_channel_info*)'
  'int rpmsg_sendto(struct rpmsg_endpoint*, void*, int, u32)'
  'struct rtc_time rtc_ktime_to_tm(ktime_t)'
  'ktime_t rtc_tm_to_ktime(struct rtc_time)'
  'int scsi_execute_cmd(struct scsi_device*, const unsigned char*, blk_opf_t, void*, unsigned int, int, int, const struct scsi_exec_args*)'
  'void scsi_print_sense_hdr(const struct scsi_device*, const char*, const struct scsi_sense_hdr*)'
  'unsigned char sdio_f0_readb(struct sdio_func*, unsigned int, int*)'
  'void sdio_f0_writeb(struct sdio_func*, unsigned char, unsigned int, int*)'
  'mmc_pm_flag_t sdio_get_host_pm_caps(struct sdio_func*)'
  'u32 sdio_readl(struct sdio_func*, unsigned int, int*)'
  'int sdio_set_host_pm_flags(struct sdio_func*, mmc_pm_flag_t)'
  'void sdio_signal_irq(struct mmc_host*)'
  'void sdio_writel(struct sdio_func*, u32, unsigned int, int*)'
  'int security_file_ioctl(struct file*, unsigned int, unsigned long)'
  'int seq_open_private(struct file*, const struct seq_operations*, int)'
  'void serial8250_do_set_termios(struct uart_port*, struct ktermios*, const struct ktermios*)'
  'void serial8250_do_shutdown(struct uart_port*)'
  'int serial8250_do_startup(struct uart_port*)'
  'struct uart_8250_port* serial8250_get_port(int)'
  'int serial8250_register_8250_port(const struct uart_8250_port*)'
  'void serial8250_resume_port(int)'
  'void serial8250_rpm_get(struct uart_8250_port*)'
  'void serial8250_rpm_put(struct uart_8250_port*)'
  'void serial8250_suspend_port(int)'
  'void serial8250_unregister_port(int)'
  'size_t sg_pcopy_from_buffer(struct scatterlist*, unsigned int, const void*, size_t, off_t)'
  'size_t sg_pcopy_to_buffer(struct scatterlist*, unsigned int, void*, size_t, off_t)'
  'void skb_split(struct sk_buff*, struct sk_buff*, u32)'
  'int snd_card_add_dev_attr(struct snd_card*, const struct attribute_group*)'
  'void snd_pcm_lib_preallocate_free_for_all(struct snd_pcm*)'
  'void snd_pcm_lib_preallocate_pages_for_all(struct snd_pcm*, int, void*, size_t, size_t)'
  'int snd_soc_bytes_info_ext(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_dapm_enable_pin(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_get_pin_switch(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_dapm_info_pin_switch(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_dapm_put_pin_switch(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_poweroff(struct device*)'
  'int snd_soc_resume(struct device*)'
  'int spi_add_device(struct spi_device*)'
  'struct spi_device* spi_alloc_device(struct spi_controller*)'
  'int spi_delay_to_ns(struct spi_delay*, struct spi_transfer*)'
  'int sprint_symbol_no_offset(char*, unsigned long)'
  'int submit_bio_wait(struct bio*)'
  'struct regmap* syscon_regmap_lookup_by_compatible(const char*)'
  'struct regmap* syscon_regmap_lookup_by_phandle_optional(struct device_node*, const char*)'
  'int sysfs_merge_group(struct kobject*, const struct attribute_group*)'
  'int sysrq_toggle_support(int)'
  'void task_cputime_adjusted(struct task_struct*, u64*, u64*)'
  'int trace_set_clr_event(const char*, const char*, int)'
  'unsigned int tty_chars_in_buffer(struct tty_struct*)'
  'unsigned int tty_write_room(struct tty_struct*)'
  'void typec_mux_put(struct typec_mux*)'
  'int typec_mux_set(struct typec_mux*, struct typec_mux_state*)'
  'void typec_mux_unregister(struct typec_mux_dev*)'
  'int typec_partner_set_identity(struct typec_partner*)'
  'void typec_partner_set_pd_revision(struct typec_partner*, u16)'
  'void typec_partner_set_svdm_version(struct typec_partner*, enum usb_pd_svdm_ver)'
  'void typec_set_vconn_role(struct typec_port*, enum typec_role)'
  'unsigned int uart_get_divisor(struct uart_port*, unsigned int)'
  'void ufshcd_delay_us(unsigned long, unsigned long)'
  'int ufshcd_link_recovery(struct ufs_hba*)'
  'int ufshcd_uic_change_pwr_mode(struct ufs_hba*, u8)'
  'void unpin_user_pages(struct page**, unsigned long)'
  'int unregister_module_notifier(struct notifier_block*)'
  'int usb_add_config(struct usb_composite_dev*, struct usb_configuration*, int(*)(struct usb_configuration*))'
  'int usb_composite_probe(struct usb_composite_driver*)'
  'void usb_composite_unregister(struct usb_composite_driver*)'
  'const char* usb_ep_type_string(int)'
  'int usb_gadget_connect(struct usb_gadget*)'
  'int usb_gadget_disconnect(struct usb_gadget*)'
  'int usb_gadget_map_request(struct usb_gadget*, struct usb_request*, int)'
  'int usb_gadget_register_driver_owner(struct usb_gadget_driver*, struct module*, const char*)'
  'int usb_gadget_set_selfpowered(struct usb_gadget*)'
  'void usb_gadget_unmap_request(struct usb_gadget*, struct usb_request*, int)'
  'enum usb_dr_mode usb_get_dr_mode(struct device*)'
  'struct usb_function* usb_get_function(struct usb_function_instance*)'
  'struct usb_function_instance* usb_get_function_instance(const char*)'
  'enum usb_device_speed usb_get_maximum_speed(struct device*)'
  'enum usb_dr_mode usb_get_role_switch_default_mode(struct device*)'
  'void usb_hcd_end_port_resume(struct usb_bus*, int)'
  'irqreturn_t usb_hcd_irq(int, void*)'
  'int usb_hcd_map_urb_for_dma(struct usb_hcd*, struct urb*, gfp_t)'
  'void usb_hcd_start_port_resume(struct usb_bus*, int)'
  'void usb_hcd_unmap_urb_for_dma(struct usb_hcd*, struct urb*)'
  'int usb_hub_clear_tt_buffer(struct urb*)'
  'struct config_group* usb_os_desc_prepare_interf_dir(struct config_group*, int, struct usb_os_desc**, char**, struct module*)'
  'void usb_put_function(struct usb_function*)'
  'void usb_remove_function(struct usb_configuration*, struct usb_function*)'
  'const char* usb_role_string(enum usb_role)'
  'struct usb_role_switch* usb_role_switch_get(struct device*)'
  'void usb_wakeup_notification(struct usb_device*, unsigned int)'
  'void uuid_gen(uuid_t*)'
  's32 v4l2_ctrl_g_ctrl(struct v4l2_ctrl*)'
  's64 v4l2_ctrl_g_ctrl_int64(struct v4l2_ctrl*)'
  'struct v4l2_ctrl* v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, u8, u64, u8, const char* const*)'
  'int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'int v4l2_event_subdev_unsubscribe(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'const struct v4l2_format_info* v4l2_format_info(u32)'
  'void v4l2_m2m_buf_copy_metadata(const struct vb2_v4l2_buffer*, struct vb2_v4l2_buffer*, bool)'
  'int v4l2_m2m_dqbuf(struct file*, struct v4l2_m2m_ctx*, struct v4l2_buffer*)'
  'int v4l2_m2m_streamoff(struct file*, struct v4l2_m2m_ctx*, enum v4l2_buf_type)'
  'void v4l2_m2m_try_schedule(struct v4l2_m2m_ctx*)'
  'int v4l2_pipeline_link_notify(struct media_link*, u32, unsigned int)'
  'int v4l2_subdev_link_validate(struct media_link*)'
  'int v4l2_subdev_link_validate_default(struct v4l2_subdev*, struct media_link*, struct v4l2_subdev_format*, struct v4l2_subdev_format*)'
  'void v4l_bound_align_image(u32*, unsigned int, unsigned int, unsigned int, u32*, unsigned int, unsigned int, unsigned int, unsigned int)'
  'struct frame_vector* vb2_create_framevec(unsigned long, unsigned long)'
  'void vb2_destroy_framevec(struct frame_vector*)'
  'int vb2_ioctl_prepare_buf(struct file*, void*, struct v4l2_buffer*)'
  'bool vb2_request_object_is_buffer(struct media_request_object*)'
  'void vb2_request_queue(struct media_request*)'
  'loff_t vfs_llseek(struct file*, loff_t, int)'
  'int wait_for_completion_state(struct completion*, unsigned int)'
  'long work_on_cpu(int, long(*)(void*), void*)'

33 variable symbol(s) added
  'struct tracepoint __tracepoint_android_rvh_find_energy_efficient_cpu'
  'struct tracepoint __tracepoint_android_rvh_find_new_ilb'
  'struct tracepoint __tracepoint_android_vh_alter_futex_plist_add'
  'struct tracepoint __tracepoint_android_vh_alter_rwsem_list_add'
  'struct tracepoint __tracepoint_android_vh_arch_set_freq_scale'
  'struct tracepoint __tracepoint_android_vh_cgroup_attach'
  'struct tracepoint __tracepoint_android_vh_cgroup_set_task'
  'struct tracepoint __tracepoint_android_vh_iommu_iovad_alloc_iova'
  'struct tracepoint __tracepoint_android_vh_iommu_iovad_free_iova'
  'struct tracepoint __tracepoint_android_vh_rwsem_init'
  'struct tracepoint __tracepoint_android_vh_rwsem_wake'
  'struct tracepoint __tracepoint_android_vh_rwsem_write_finished'
  'struct tracepoint __tracepoint_android_vh_sched_pelt_multiplier'
  'struct tracepoint __tracepoint_android_vh_set_wake_flags'
  'struct tracepoint __tracepoint_android_vh_syscall_prctl_finished'
  'struct tracepoint __tracepoint_cpu_frequency'
  'struct tracepoint __tracepoint_pelt_rt_tp'
  'struct tracepoint __tracepoint_pelt_se_tp'
  'struct tracepoint __tracepoint_sched_update_nr_running_tp'
  'struct tracepoint __tracepoint_task_newtask'
  'struct neigh_table arp_tbl'
  'const struct clk_ops clk_divider_ops'
  'const struct clk_ops clk_gate_ops'
  'const struct clk_ops clk_mux_ops'
  'struct console* console_drivers'
  'rwlock_t dev_base_lock'
  'const struct font_desc font_vga_8x16'
  'const char hex_asc[17]'
  'void* high_memory'
  'struct workqueue_struct* pm_wq'
  'struct srcu_struct tracepoint_srcu'
  'const uuid_t uuid_null'
  'const struct vm_operations_struct vb2_common_vm_ops'

Bug: 279225438
Change-Id: I859bec8e385ad2ed9271868608a5e587d35c87e5
Signed-off-by: Chun-Hung Wu <chun-hung.wu@mediatek.com>
2023-04-25 11:27:24 +00:00
Wesley Cheng
4590238002 FROMGIT: usb: dwc3: gadget: Execute gadget stop after halting the controller
Do not call gadget stop until the poll for controller halt is
completed.  DEVTEN is cleared as part of gadget stop, so the intention to
allow ep0 events to continue while waiting for controller halt is not
happening.

Fixes: c96683798e ("usb: dwc3: ep0: Don't prepare beyond Setup stage")
Cc: stable@vger.kernel.org
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230420212759.29429-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 277690231
Change-Id: I2a8a42e938a680cefc0d1a56274caf155a4f99cd
(cherry picked from commit 39674be56f https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
2023-04-25 06:30:17 +00:00
Ziqi Chen
c747f08962 UPSTREAM: scsi: ufs: core: Print trs for pending requests in MCQ mode
We don't have outstanding_reqs bitmap in MCQ mode. Considering that the
queue depth may increase beyond 64 in the future, rework ufshcd_print_trs()
to get rid of bitmap usage so that we can print trs for pending requests in
both SDB and MCQ mode.

Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
Link: https://lore.kernel.org/r/1678865517-43139-1-git-send-email-quic_ziqichen@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
(cherry picked from commit 127fd07da4)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 277673029
Change-Id: I14bfe83fdd89628693180bda6da95a188839e116
Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
2023-04-25 01:29:15 +00:00
Ziqi Chen
764c422dcb UPSTREAM: scsi: ufs: core: Add trace event for MCQ
Add MCQ hardware queue ID in the existing trace event ufshcd_command().

Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
Link: https://lore.kernel.org/r/1678866271-49601-1-git-send-email-quic_ziqichen@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
(cherry picked from commit 4a52338bf2)
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

Bug: 277673029
Change-Id: Idf1861723a43981cef0ec5b010d4f0447adc3cde
Signed-off-by: Ziqi Chen <quic_ziqichen@quicinc.com>
2023-04-25 01:29:15 +00:00
Will McVicker
b2866c2972 ANDROID: ABI: update the pixel symbol list
These symbols are needed as part of an upgrade to v6.1.

41 function symbol(s) added
  'struct device* __root_device_register(const char*, struct module*)'
  'int badblocks_check(struct badblocks*, sector_t, int, sector_t*, int*)'
  'int badblocks_clear(struct badblocks*, sector_t, int)'
  'void badblocks_exit(struct badblocks*)'
  'int badblocks_init(struct badblocks*, int)'
  'int badblocks_set(struct badblocks*, sector_t, int, int)'
  'ssize_t badblocks_show(struct badblocks*, char*, int)'
  'unsigned int bdev_nr_zones(struct block_device*)'
  'void blk_abort_request(struct request*)'
  'void blk_mq_stop_hw_queues(struct request_queue*)'
  'u32 blk_mq_unique_tag(struct request*)'
  'void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set*, int)'
  'const char* blk_op_str(enum req_op)'
  'void blk_queue_chunk_sectors(struct request_queue*, unsigned int)'
  'void blk_queue_max_zone_append_sectors(struct request_queue*, unsigned int)'
  'void blk_queue_required_elevator_features(struct request_queue*, unsigned int)'
  'void blk_queue_virt_boundary(struct request_queue*, unsigned long)'
  'int blk_revalidate_disk_zones(struct gendisk*, void(*)(struct gendisk*))'
  'const char* blk_zone_cond_str(enum blk_zone_cond)'
  'void config_item_init_type_name(struct config_item*, const char*, const struct config_item_type*)'
  'int crypto_register_notifier(struct notifier_block*)'
  'int crypto_unregister_notifier(struct notifier_block*)'
  'void disk_set_zoned(struct gendisk*, enum blk_zoned_model)'
  'blk_status_t errno_to_blk_status(int)'
  'void int_to_scsilun(u64, struct scsi_lun*)'
  'void io_schedule()'
  'void* radix_tree_delete_item(struct xarray*, unsigned long, void*)'
  'unsigned int radix_tree_gang_lookup(const struct xarray*, void**, unsigned long, unsigned int)'
  'int radix_tree_preload(gfp_t)'
  'void root_device_unregister(struct device*)'
  'void scsi_build_sense(struct scsi_cmnd*, int, u8, u8, u8)'
  'void scsi_done(struct scsi_cmnd*)'
  'int scsi_set_sense_information(u8*, int, u64)'
  'size_t sg_copy_buffer(struct scatterlist*, unsigned int, void*, size_t, off_t, bool)'
  'size_t sg_pcopy_from_buffer(struct scatterlist*, unsigned int, const void*, size_t, off_t)'
  'int snd_soc_component_enable_pin(struct snd_soc_component*, const char*)'
  'int snd_soc_component_get_pin_status(struct snd_soc_component*, const char*)'
  'void uuid_gen(uuid_t*)'
  'void xa_clear_mark(struct xarray*, unsigned long, xa_mark_t)'
  'bool xa_get_mark(struct xarray*, unsigned long, xa_mark_t)'
  'void xa_set_mark(struct xarray*, unsigned long, xa_mark_t)'

Bug: 279090118
Change-Id: I72c4d033ff4234a4c1622540426e8cb6c2d5680c
Signed-off-by: Will McVicker <willmcvicker@google.com>
2023-04-24 21:37:40 +00:00
Johan Hovold
8f3f69c9b9 FROMGIT: USB: dwc3: gadget: drop dead hibernation code
The hibernation code is broken and has never been enabled in mainline
and should thus be dropped.

Remove the hibernation bits from the gadget code, which effectively
reverts commits e1dadd3b0f ("usb: dwc3: workaround: bogus hibernation
events") and 7b2a0368bb ("usb: dwc3: gadget: set KEEP_CONNECT in case
of hibernation") except for the spurious interrupt warning.

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20230404072524.19014-5-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 277690231
Change-Id: I893cefd276fd3be5e254c8aa82611eba2fc53396
(cherry picked from commit bdb19d0102 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
2023-04-24 18:23:23 +00:00
Wesley Cheng
5dd4405fee FROMGIT: usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
It was observed that there are hosts that may complete pending SETUP
transactions before the stop active transfers and controller halt occurs,
leading to lingering endxfer commands on DEPs on subsequent pullup/gadget
start iterations.

  dwc3_gadget_ep_disable   name=ep8in flags=0x3009  direction=1
  dwc3_gadget_ep_disable   name=ep4in flags=1  direction=1
  dwc3_gadget_ep_disable   name=ep3out flags=1  direction=0
  usb_gadget_disconnect   deactivated=0  connected=0  ret=0

The sequence shows that the USB gadget disconnect (dwc3_gadget_pullup(0))
routine completed successfully, allowing for the USB gadget to proceed with
a USB gadget connect.  However, if this occurs the system runs into an
issue where:

  BUG: spinlock already unlocked on CPU
  spin_bug+0x0
  dwc3_remove_requests+0x278
  dwc3_ep0_out_start+0xb0
  __dwc3_gadget_start+0x25c

This is due to the pending endxfers, leading to gadget start (w/o lock
held) to execute the remove requests, which will unlock the dwc3
spinlock as part of giveback.

To mitigate this, resolve the pending endxfers on the pullup disable
path by re-locating the SETUP phase check after stop active transfers, since
that is where the DWC3_EP_DELAY_STOP is potentially set.  This also allows
for handling of a host that may be unresponsive by using the completion
timeout to trigger the stall and restart for EP0.

Fixes: c96683798e ("usb: dwc3: ep0: Don't prepare beyond Setup stage")
Cc: stable@vger.kernel.org
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Link: https://lore.kernel.org/r/20230413195742.11821-2-quic_wcheng@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 277690231
Change-Id: Ifa9aeab01a4f45feaae59c2d393e6712f5370f08
(cherry picked from commit 02435a739b https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-next)
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
2023-04-24 18:23:23 +00:00
Ming Qian
4dbfc3a024 FROMGIT: media: add RealVideo format RV30 and RV40
RealVideo, or also spelled as Real Video, is a suite of proprietary
video compression formats developed by RealNetworks -
the specific format changes with the version.
RealVideo codecs are identified by four-character codes.
RV30 and RV40 are RealNetworks' proprietary H.264-based codecs.

Bug: 279270030
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
(cherry picked from commit ec9aa62a1e
    https://git.linuxtv.org/mchehab/media-next.git master)
Change-Id: I8388fb2764a25543a3b155e5ce65f8af3ac005e4
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2023-04-24 10:45:38 +00:00
Ming Qian
61c48ea296 FROMGIT: media: add Sorenson Spark video format
Sorenson Spark is an implementation of H.263 for use
in Flash Video and Adobe Flash files.
Sorenson Spark is an incomplete implementation of H.263.
It differs mostly in header structure and ranges of the coefficients.

Bug: 279270030
Signed-off-by: Ming Qian <ming.qian@nxp.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
(cherry picked from commit ae77d13914
    https://git.linuxtv.org/mchehab/media-next.git master)
Change-Id: I914e0a2bbbeaf9095be239844051a7919ffd2e02
Signed-off-by: Jindong Yue <jindong.yue@nxp.com>
2023-04-24 10:45:38 +00:00
Matthias Männich
4f6302ba3c ANDROID: Update ABI representation for imx symbol list updates
Bug: 277791334
Change-Id: Ia83d83aac9377dca69770520d774f80cf5158fff
Signed-off-by: Matthias Männich <maennich@google.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
515e3ed383 ANDROID: ABI: Add clk/power related symbols for imx
68 function symbol(s) added
  'struct clk_hw* __clk_hw_register_divider(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, void*, u8, u8, u8, const struct clk_div_table*, spinlock_t*)'
  'struct clk_hw* __clk_hw_register_fixed_rate(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, unsigned long, unsigned long, unsigned long, bool)'
  'struct clk_hw* __clk_hw_register_gate(struct device*, struct device_node*, const char*, const char*, const struct clk_hw*, const struct clk_parent_data*, unsigned long, void*, u8, u8, spinlock_t*)'
  'struct clk_hw* __clk_hw_register_mux(struct device*, struct device_node*, const char*, u8, const char* const*, const struct clk_hw**, const struct clk_parent_data*, unsigned long, void*, u8, u32, u8, const u32*, spinlock_t*)'
  'int __of_mdiobus_register(struct mii_bus*, struct device_node*, struct module*)'
  'int clk_bulk_get(struct device*, int, struct clk_bulk_data*)'
  'void clk_bulk_put(int, struct clk_bulk_data*)'
  'int clk_gate_is_enabled(struct clk_hw*)'
  'struct clk_hw* clk_hw_register_composite(struct device*, const char*, const char* const*, int, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, struct clk_hw*, const struct clk_ops*, unsigned long)'
  'struct clk_hw* clk_hw_register_fixed_factor(struct device*, const char*, const char*, unsigned long, unsigned int, unsigned int)'
  'unsigned int clk_mux_index_to_val(const u32*, unsigned int, u8)'
  'struct clk* clk_register_mux_table(struct device*, const char*, const char* const*, u8, unsigned long, void*, u8, u32, u8, const u32*, spinlock_t*)'
  'void clk_unregister(struct clk*)'
  'unsigned int cpufreq_generic_get(unsigned int)'
  'int cpufreq_generic_suspend(struct cpufreq_policy*)'
  'void dev_pm_opp_free_cpufreq_table(struct device*, struct cpufreq_frequency_table**)'
  'unsigned long dev_pm_opp_get_max_transition_latency(struct device*)'
  'int dev_pm_opp_get_sharing_cpus(struct device*, struct cpumask*)'
  'unsigned long dev_pm_opp_get_suspend_opp_freq(struct device*)'
  'int dev_pm_opp_init_cpufreq_table(struct device*, struct cpufreq_frequency_table**)'
  'int dev_pm_opp_of_cpumask_add_table(const struct cpumask*)'
  'int dev_pm_opp_of_get_sharing_cpus(struct device*, struct cpumask*)'
  'int devm_hwrng_register(struct device*, struct hwrng*)'
  'int dmaenginem_async_device_register(struct dma_device*)'
  'int dw_pcie_ep_init(struct dw_pcie_ep*)'
  'int dw_pcie_ep_raise_legacy_irq(struct dw_pcie_ep*, u8)'
  'int dw_pcie_ep_raise_msi_irq(struct dw_pcie_ep*, u8, u8)'
  'void dw_pcie_ep_reset_bar(struct dw_pcie*, enum pci_barno)'
  'u8 dw_pcie_find_capability(struct dw_pcie*, u8)'
  'u32 dw_pcie_read_dbi(struct dw_pcie*, u32, size_t)'
  'int dw_pcie_wait_for_link(struct dw_pcie*)'
  'void dw_pcie_write_dbi(struct dw_pcie*, u32, size_t, u32)'
  'bool mdiobus_is_registered_device(struct mii_bus*, int)'
  'void net_selftest(struct net_device*, struct ethtool_test*, u64*)'
  'int net_selftest_get_count()'
  'void net_selftest_get_strings(u8*)'
  'void netif_set_tso_max_segs(struct net_device*, unsigned int)'
  'int nvmem_cell_read_u64(struct device*, const char*, u64*)'
  'int of_clk_parent_fill(struct device_node*, const char**, unsigned int)'
  'int of_genpd_add_device(struct of_phandle_args*, struct device*)'
  'int of_genpd_add_subdomain(struct of_phandle_args*, struct of_phandle_args*)'
  'int of_get_phy_mode(struct device_node*, phy_interface_t*)'
  'struct phy_device* of_phy_connect(struct net_device*, struct device_node*, void(*)(struct net_device*), u32, phy_interface_t)'
  'void of_phy_deregister_fixed_link(struct device_node*)'
  'struct phy_device* of_phy_find_device(struct device_node*)'
  'int of_phy_register_fixed_link(struct device_node*)'
  'int pci_msi_enabled()'
  'struct phy_device* phy_connect(struct net_device*, const char*, void(*)(struct net_device*), phy_interface_t)'
  'void phy_disconnect(struct phy_device*)'
  'int phy_ethtool_get_eee(struct phy_device*, struct ethtool_eee*)'
  'int phy_ethtool_get_link_ksettings(struct net_device*, struct ethtool_link_ksettings*)'
  'int phy_ethtool_nway_reset(struct net_device*)'
  'int phy_ethtool_set_eee(struct phy_device*, struct ethtool_eee*)'
  'int phy_ethtool_set_link_ksettings(struct net_device*, const struct ethtool_link_ksettings*)'
  'int phy_mii_ioctl(struct phy_device*, struct ifreq*, int)'
  'void phy_print_status(struct phy_device*)'
  'void phy_remove_link_mode(struct phy_device*, u32)'
  'int phy_reset_after_clk_enable(struct phy_device*)'
  'void phy_set_max_speed(struct phy_device*, u32)'
  'void phy_set_sym_pause(struct phy_device*, bool, bool, bool)'
  'void phy_start(struct phy_device*)'
  'void phy_stop(struct phy_device*)'
  'void phy_support_sym_pause(struct phy_device*)'
  'int pm_genpd_remove_device(struct device*)'
  'void tso_build_data(const struct sk_buff*, struct tso_t*, int)'
  'void tso_build_hdr(const struct sk_buff*, char*, struct tso_t*, int, bool)'
  'int tso_count_descs(const struct sk_buff*)'
  'int tso_start(struct sk_buff*, struct tso_t*)'

8 variable symbol(s) added
  'const struct clk_ops clk_divider_ops'
  'const struct clk_ops clk_divider_ro_ops'
  'const struct clk_ops clk_fractional_divider_ops'
  'const struct clk_ops clk_gate_ops'
  'const struct clk_ops clk_mux_ops'
  'const struct clk_ops clk_mux_ro_ops'
  'struct kobject* firmware_kobj'
  'struct device_node* of_chosen'

Bug: 277791334
Change-Id: Ide2e8e1be03d8978476ddbdcd32a9d364ea8814f
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
6665806c0c ANDROID: ABI: Add phy/pinctrl/regulator related symbols for imx
21 function symbol(s) added
  'struct regmap* __regmap_init_mmio_clk(struct device*, const char*, void*, const struct regmap_config*, struct lock_class_key*, const char*)'
  'int devm_pwmchip_add(struct device*, struct pwm_chip*)'
  'void devres_remove_group(struct device*, void*)'
  'struct pwm_device* of_pwm_xlate_with_flags(struct pwm_chip*, const struct of_phandle_args*)'
  'int of_regulator_match(struct device*, struct device_node*, struct of_regulator_match*, unsigned int)'
  'int phy_pm_runtime_get_sync(struct phy*)'
  'int phy_pm_runtime_put(struct phy*)'
  'int pinconf_generic_parse_dt_config(struct device_node*, struct pinctrl_dev*, unsigned long**, unsigned int*)'
  'struct group_desc* pinctrl_generic_get_group(struct pinctrl_dev*, unsigned int)'
  'struct function_desc* pinmux_generic_get_function(struct pinctrl_dev*, unsigned int)'
  'int pinmux_generic_get_function_count(struct pinctrl_dev*)'
  'int pinmux_generic_get_function_groups(struct pinctrl_dev*, unsigned int, const char* const**, unsigned int*)'
  'const char* pinmux_generic_get_function_name(struct pinctrl_dev*, unsigned int)'
  'int regulator_desc_list_voltage_linear_range(const struct regulator_desc*, unsigned int)'
  'int regulator_map_voltage_ascend(struct regulator_dev*, int, int)'
  'int regulator_set_ramp_delay_regmap(struct regulator_dev*, int)'
  'int regulator_set_voltage_time_sel(struct regulator_dev*, unsigned int, unsigned int)'
  'int reset_controller_register(struct reset_controller_dev*)'
  'void reset_controller_unregister(struct reset_controller_dev*)'
  'struct device* rpmsg_find_device(struct device*, struct rpmsg_channel_info*)'
  'int rpmsg_sendto(struct rpmsg_endpoint*, void*, int, u32)'

1 variable symbol(s) added
  'suspend_state_t pm_suspend_target_state'

Bug: 277791334
Change-Id: Idbcd16e66e57f2ad78cd731a981c5653a0f5605f
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
9d368adaae ANDROID: ABI: Add bus/mmc/dma related symbols for imx
55 function symbol(s) added
  'void __bitmap_replace(unsigned long*, const unsigned long*, const unsigned long*, const unsigned long*, unsigned int)'
  'void bdi_unregister(struct backing_dev_info*)'
  'unsigned long* bitmap_alloc(unsigned int, gfp_t)'
  'struct irq_chip_generic* devm_irq_alloc_generic_chip(struct device*, const char*, int, unsigned int, void*, irq_flow_handler_t)'
  'int devm_irq_setup_generic_chip(struct device*, struct irq_chip_generic*, u32, enum irq_gc_flags, unsigned int, unsigned int)'
  'int devm_register_sys_off_handler(struct device*, enum sys_off_mode, int, int(*)(struct sys_off_data*), void*)'
  'struct spi_mem_dirmap_desc* devm_spi_mem_dirmap_create(struct device*, struct spi_mem*, const struct spi_mem_dirmap_info*)'
  'void* gen_pool_dma_alloc(struct gen_pool*, size_t, dma_addr_t*)'
  'struct gpio_desc* gpiod_get_index_optional(struct device*, const char*, unsigned int, enum gpiod_flags)'
  'int gpiod_set_array_value_cansleep(unsigned int, struct gpio_desc**, struct gpio_array*, unsigned long*)'
  'struct irq_domain* irq_domain_add_legacy(struct device_node*, unsigned int, unsigned int, irq_hw_number_t, const struct irq_domain_ops*, void*)'
  'void mctrl_gpio_disable_ms(struct mctrl_gpios*)'
  'void mctrl_gpio_enable_ms(struct mctrl_gpios*)'
  'unsigned int mctrl_gpio_get(struct mctrl_gpios*, unsigned int*)'
  'struct mctrl_gpios* mctrl_gpio_init(struct uart_port*, unsigned int)'
  'void mctrl_gpio_set(struct mctrl_gpios*, unsigned int)'
  'int mmc_gpio_set_cd_wake(struct mmc_host*, bool)'
  'int mmc_of_parse_voltage(struct mmc_host*, u32*)'
  'int mmc_pwrseq_register(struct mmc_pwrseq*)'
  'void mmc_pwrseq_unregister(struct mmc_pwrseq*)'
  'void mmc_retune_timer_stop(struct mmc_host*)'
  'struct gen_pool* of_gen_pool_get(struct device_node*, const char*, int)'
  'bool of_node_name_prefix(const struct device_node*, const char*)'
  'int pinctrl_gpio_direction_input(unsigned int)'
  'int pinctrl_gpio_direction_output(unsigned int)'
  'int regmap_attach_dev(struct device*, struct regmap*, const struct regmap_config*)'
  'void rproc_add_carveout(struct rproc*, struct rproc_mem_entry*)'
  'struct resource_table* rproc_elf_find_loaded_rsc_table(struct rproc*, const struct firmware*)'
  'int rproc_elf_load_rsc_table(struct rproc*, const struct firmware*)'
  'int rproc_elf_load_segments(struct rproc*, const struct firmware*)'
  'int rproc_elf_sanity_check(struct rproc*, const struct firmware*)'
  'struct rproc_mem_entry* rproc_mem_entry_init(struct device*, void*, dma_addr_t, size_t, u32, int(*)(struct rproc*, struct rproc_mem_entry*), int(*)(struct rproc*, struct rproc_mem_entry*), const char*, ...)'
  'int rproc_of_parse_firmware(struct device*, int, const char**)'
  'irqreturn_t rproc_vq_interrupt(struct rproc*, int)'
  'void sdhci_dumpregs(struct sdhci_host*)'
  'int sdhci_execute_tuning(struct mmc_host*, u32)'
  'int sdhci_resume_host(struct sdhci_host*)'
  'int sdhci_runtime_resume_host(struct sdhci_host*, int)'
  'int sdhci_runtime_suspend_host(struct sdhci_host*)'
  'int sdhci_suspend_host(struct sdhci_host*)'
  'struct scatterlist* sg_last(struct scatterlist*, unsigned int)'
  'int spi_mem_adjust_op_size(struct spi_mem*, struct spi_mem_op*)'
  'bool spi_mem_default_supports_op(struct spi_mem*, const struct spi_mem_op*)'
  'ssize_t spi_mem_dirmap_read(struct spi_mem_dirmap_desc*, u64, size_t, void*)'
  'ssize_t spi_mem_dirmap_write(struct spi_mem_dirmap_desc*, u64, size_t, const void*)'
  'int spi_mem_driver_register_with_owner(struct spi_mem_driver*, struct module*)'
  'void spi_mem_driver_unregister(struct spi_mem_driver*)'
  'int spi_mem_exec_op(struct spi_mem*, const struct spi_mem_op*)'
  'const char* spi_mem_get_name(struct spi_mem*)'
  'bool spi_mem_supports_op(struct spi_mem*, const struct spi_mem_op*)'
  'unsigned char tty_get_frame_size(unsigned int)'
  'unsigned int uart_get_divisor(struct uart_port*, unsigned int)'
  'int uart_get_rs485_mode(struct uart_port*)'
  'void uart_handle_cts_change(struct uart_port*, unsigned int)'
  'void uart_handle_dcd_change(struct uart_port*, unsigned int)'

Bug: 277791334
Change-Id: Ibb506df8f2897865016f7e77256b84f67dcb5af4
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
ddd2c21ef7 ANDROID: ABI: Add display related symbols for imx
83 function symbol(s) added
  'int __device_reset(struct device*, bool)'
  'struct drm_mm_node* __drm_mm_interval_first(const struct drm_mm*, u64, u64)'
  'void* __drmm_simple_encoder_alloc(struct drm_device*, size_t, size_t, int)'
  'int __irq_alloc_domain_generic_chips(struct irq_domain*, int, int, const char*, irq_flow_handler_t, unsigned int, unsigned int, enum irq_gc_flags)'
  'int bitmap_find_free_region(unsigned long*, unsigned int, int)'
  'void* bsearch(const void*, const void*, size_t, size_t, cmp_func_t)'
  'void cec_fill_conn_info_from_drm(struct cec_connector_info*, const struct drm_connector*)'
  'struct cec_notifier* cec_notifier_cec_adap_register(struct device*, const char*, struct cec_adapter*)'
  'void cec_notifier_cec_adap_unregister(struct cec_notifier*, struct cec_adapter*)'
  'struct cec_notifier* cec_notifier_conn_register(struct device*, const char*, const struct cec_connector_info*)'
  'void cec_notifier_conn_unregister(struct cec_notifier*)'
  'void cec_notifier_set_phys_addr(struct cec_notifier*, u16)'
  'void cec_notifier_set_phys_addr_from_edid(struct cec_notifier*, const struct edid*)'
  'void cec_s_phys_addr_from_edid(struct cec_adapter*, const struct edid*)'
  'void cec_transmit_done_ts(struct cec_adapter*, u8, u8, u8, u8, u8, ktime_t)'
  'int component_compare_dev_name(struct device*, void*)'
  'struct drm_bridge* devm_drm_panel_bridge_add(struct device*, struct drm_panel*)'
  'struct phy* devm_of_phy_get(struct device*, struct device_node*, const char*)'
  'void devm_remove_action(struct device*, void(*)(void*), void*)'
  'u64 dma_get_required_mask(struct device*)'
  'int down_killable(struct semaphore*)'
  'int driver_create_file(struct device_driver*, const struct driver_attribute*)'
  'void driver_remove_file(struct device_driver*, const struct driver_attribute*)'
  'u32* drm_atomic_helper_bridge_propagate_bus_fmt(struct drm_bridge*, struct drm_bridge_state*, struct drm_crtc_state*, struct drm_connector_state*, u32, unsigned int*)'
  'void drm_atomic_helper_commit_tail_rpm(struct drm_atomic_state*)'
  'void drm_atomic_helper_disable_planes_on_crtc(struct drm_crtc_state*, bool)'
  'void drm_bridge_connector_disable_hpd(struct drm_connector*)'
  'void drm_bus_flags_from_videomode(const struct videomode*, u32*)'
  'bool drm_connector_atomic_hdr_metadata_equal(struct drm_connector_state*, struct drm_connector_state*)'
  'int drm_connector_attach_hdr_output_metadata_property(struct drm_connector*)'
  'int drm_connector_attach_max_bpc_property(struct drm_connector*, int, int)'
  'int drm_connector_init_with_ddc(struct drm_device*, struct drm_connector*, const struct drm_connector_funcs*, int, struct i2c_adapter*)'
  'int drm_connector_set_panel_orientation(struct drm_connector*, enum drm_panel_orientation)'
  'enum hdmi_quantization_range drm_default_rgb_quant_range(const struct drm_display_mode*)'
  'int drm_display_info_set_bus_formats(struct drm_display_info*, const u32*, unsigned int)'
  'void drm_display_mode_from_videomode(const struct videomode*, struct drm_display_mode*)'
  'void drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe*, const struct drm_connector*, const struct drm_display_mode*, enum hdmi_quantization_range)'
  'int drm_hdmi_vendor_infoframe_from_display_mode(struct hdmi_vendor_infoframe*, const struct drm_connector*, const struct drm_display_mode*)'
  'bool drm_mm_scan_add_block(struct drm_mm_scan*, struct drm_mm_node*)'
  'void drm_mm_scan_init_with_range(struct drm_mm_scan*, struct drm_mm*, u64, u64, unsigned long, u64, u64, enum drm_mm_insert_mode)'
  'bool drm_mm_scan_remove_block(struct drm_mm_scan*, struct drm_mm_node*)'
  'int drm_mode_create_hdmi_colorspace_property(struct drm_connector*)'
  'bool drm_mode_is_420_also(const struct drm_display_info*, const struct drm_display_mode*)'
  'int drm_of_encoder_active_endpoint(struct device_node*, struct drm_encoder*, struct of_endpoint*)'
  'uint32_t drm_of_find_possible_crtcs(struct drm_device*, struct device_node*)'
  'int drm_panel_of_backlight(struct drm_panel*)'
  'int drm_plane_create_color_properties(struct drm_plane*, u32, u32, enum drm_color_encoding, enum drm_color_range)'
  'int drm_plane_create_scaling_filter_property(struct drm_plane*, unsigned int)'
  'int hdmi_avi_infoframe_check(struct hdmi_avi_infoframe*)'
  'void hdmi_avi_infoframe_init(struct hdmi_avi_infoframe*)'
  'ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe*, void*, size_t)'
  'int hdmi_drm_infoframe_init(struct hdmi_drm_infoframe*)'
  'ssize_t hdmi_drm_infoframe_pack(struct hdmi_drm_infoframe*, void*, size_t)'
  'ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe*, void*, size_t)'
  'void input_copy_abs(struct input_dev*, unsigned int, const struct input_dev*, unsigned int)'
  'void irq_gc_ack_set_bit(struct irq_data*)'
  'void irq_gc_mask_clr_bit(struct irq_data*)'
  'void irq_gc_mask_set_bit(struct irq_data*)'
  'struct irq_chip_generic* irq_get_domain_generic_chip(struct irq_domain*, unsigned int)'
  'void* memset32(uint32_t*, uint32_t, size_t)'
  'int mipi_dsi_dcs_enter_sleep_mode(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_exit_sleep_mode(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_display_off(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_display_on(struct mipi_dsi_device*)'
  'int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device*, u8)'
  'int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device*, enum mipi_dsi_dcs_tear_mode)'
  'int mipi_dsi_dcs_set_tear_scanline(struct mipi_dsi_device*, u16)'
  'int mipi_dsi_dcs_soft_reset(struct mipi_dsi_device*)'
  'void mipi_dsi_device_unregister(struct mipi_dsi_device*)'
  'int mutex_lock_killable(struct mutex*)'
  'int of_drm_get_panel_orientation(const struct device_node*, enum drm_panel_orientation*)'
  'int of_get_display_timing(const struct device_node*, const char*, struct display_timing*)'
  'struct phy* of_phy_get(struct device_node*, const char*)'
  'int phy_mipi_dphy_get_default_config(unsigned long, unsigned int, unsigned int, struct phy_configure_opts_mipi_dphy*)'
  'int phy_validate(struct phy*, enum phy_mode, int, union phy_configure_opts*)'
  'struct regmap* syscon_regmap_lookup_by_phandle_optional(struct device_node*, const char*)'
  'void thermal_of_zone_unregister(struct thermal_zone_device*)'
  'int thermal_zone_bind_cooling_device(struct thermal_zone_device*, int, struct thermal_cooling_device*, unsigned long, unsigned long, unsigned int)'
  'void touchscreen_parse_properties(struct input_dev*, bool, struct touchscreen_properties*)'
  'void touchscreen_report_pos(struct input_dev*, const struct touchscreen_properties*, unsigned int, unsigned int, bool)'
  'void unpin_user_pages(struct page**, unsigned long)'
  'void videomode_from_timing(const struct display_timing*, struct videomode*)'
  'void vma_set_file(struct vm_area_struct*, struct file*)'

2 variable symbol(s) added
  'unsigned int hrtimer_resolution'
  'const struct irq_domain_ops irq_generic_chip_ops'

Bug: 277791334
Change-Id: I98df3b80e88be6bf5ec63abcc50de32546cdee12
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
31b52eddc4 ANDROID: ABI: Add video/camera related symbols for imx
62 function symbol(s) added
  'int __v4l2_ctrl_s_ctrl_int64(struct v4l2_ctrl*, s64)'
  'const void* __v4l2_find_nearest_size(const void*, size_t, size_t, size_t, size_t, s32, s32)'
  'int _vb2_fop_release(struct file*, struct mutex*)'
  'void console_lock()'
  'void console_unlock()'
  'struct rc_dev* devm_rc_allocate_device(struct device*, enum rc_driver_type)'
  'int devm_rc_register_device(struct device*, struct rc_dev*)'
  'u8 drm_match_cea_mode(const struct drm_display_mode*)'
  'struct drm_display_mode* drm_mode_find_dmt(struct drm_device*, int, int, int, bool)'
  'void drm_property_destroy(struct drm_device*, struct drm_property*)'
  'void drm_self_refresh_helper_cleanup(struct drm_crtc*)'
  'int drm_self_refresh_helper_init(struct drm_crtc*)'
  'int fb_get_options(const char*, char**)'
  'bool fwnode_device_is_available(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_next_endpoint(const struct fwnode_handle*, struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_port_parent(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_endpoint(const struct fwnode_handle*)'
  'struct fwnode_handle* fwnode_graph_get_remote_port_parent(const struct fwnode_handle*)'
  'int fwnode_graph_parse_endpoint(const struct fwnode_handle*, struct fwnode_endpoint*)'
  'int fwnode_property_get_reference_args(const struct fwnode_handle*, const char*, const char*, unsigned int, unsigned int, struct fwnode_reference_args*)'
  'int fwnode_property_read_u64_array(const struct fwnode_handle*, const char*, u64*, size_t)'
  'int ir_raw_event_store_edge(struct rc_dev*, bool)'
  'int is_console_locked()'
  'struct mbox_chan* mbox_request_channel_byname(struct mbox_client*, const char*)'
  'struct media_link* media_create_ancillary_link(struct media_entity*, struct media_entity*)'
  'int media_create_pad_link(struct media_entity*, u16, struct media_entity*, u16, u32)'
  'void media_entity_remove_links(struct media_entity*)'
  'void media_graph_walk_cleanup(struct media_graph*)'
  'int media_graph_walk_init(struct media_graph*, struct media_device*)'
  'struct media_entity* media_graph_walk_next(struct media_graph*)'
  'void media_graph_walk_start(struct media_graph*, struct media_entity*)'
  'struct media_pad* media_pad_remote_pad_first(const struct media_pad*)'
  'int of_get_videomode(struct device_node*, struct videomode*, int)'
  'struct device_node* of_graph_get_port_by_id(struct device_node*, u32)'
  'struct reset_control* of_reset_control_array_get(struct device_node*, bool, bool, bool)'
  'void pwm_free(struct pwm_device*)'
  'struct pwm_device* pwm_request(int, const char*)'
  'const struct soc_device_attribute* soc_device_match(const struct soc_device_attribute*)'
  'void v4l2_ctrl_auto_cluster(unsigned int, struct v4l2_ctrl**, u8, bool)'
  'int v4l2_ctrl_new_fwnode_properties(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, const struct v4l2_fwnode_device_properties*)'
  'struct v4l2_ctrl* v4l2_ctrl_new_int_menu(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, u8, u8, const s64*)'
  'struct v4l2_ctrl* v4l2_ctrl_new_std_menu_items(struct v4l2_ctrl_handler*, const struct v4l2_ctrl_ops*, u32, u8, u64, u8, const char* const*)'
  '__poll_t v4l2_ctrl_poll(struct file*, struct poll_table_struct*)'
  'int v4l2_ctrl_subdev_log_status(struct v4l2_subdev*)'
  'int v4l2_ctrl_subdev_subscribe_event(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'int v4l2_event_subdev_unsubscribe(struct v4l2_subdev*, struct v4l2_fh*, struct v4l2_event_subscription*)'
  'int v4l2_g_parm_cap(struct video_device*, struct v4l2_subdev*, struct v4l2_streamparm*)'
  's64 v4l2_get_link_freq(struct v4l2_ctrl_handler*, unsigned int, unsigned int)'
  'void v4l2_m2m_buf_copy_metadata(const struct vb2_v4l2_buffer*, struct vb2_v4l2_buffer*, bool)'
  'int v4l2_m2m_ioctl_decoder_cmd(struct file*, void*, struct v4l2_decoder_cmd*)'
  'int v4l2_m2m_ioctl_encoder_cmd(struct file*, void*, struct v4l2_encoder_cmd*)'
  'void v4l2_m2m_last_buffer_done(struct v4l2_m2m_ctx*, struct vb2_v4l2_buffer*)'
  'void v4l2_m2m_resume(struct v4l2_m2m_dev*)'
  'void v4l2_m2m_suspend(struct v4l2_m2m_dev*)'
  'void v4l2_m2m_update_start_streaming_state(struct v4l2_m2m_ctx*, struct vb2_queue*)'
  'void v4l2_m2m_update_stop_streaming_state(struct v4l2_m2m_ctx*, struct vb2_queue*)'
  'int v4l2_s_parm_cap(struct video_device*, struct v4l2_subdev*, struct v4l2_streamparm*)'
  'int v4l2_subdev_link_validate(struct media_link*)'
  'void v4l_bound_align_image(u32*, unsigned int, unsigned int, unsigned int, u32*, unsigned int, unsigned int, unsigned int, unsigned int)'
  'int vb2_expbuf(struct vb2_queue*, struct v4l2_exportbuffer*)'
  'int vb2_ioctl_prepare_buf(struct file*, void*, struct v4l2_buffer*)'
  'size_t vb2_read(struct vb2_queue*, char*, size_t, loff_t*, int)'

2 variable symbol(s) added
  'const char* fb_mode_option'
  'atomic_t ignore_console_lock_warning'

Bug: 277791334
Change-Id: I624ff8405f0a4508894b65cb1ab10f1661ac3ddd
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
7c333eaff9 ANDROID: ABI: Add sensor/led/iput related symbols for imx
17 function symbol(s) added
  'struct iio_trigger* __devm_iio_trigger_alloc(struct device*, struct module*, const char*, ...)'
  'int __iio_device_register(struct iio_dev*, struct module*)'
  'struct i3c_device* dev_to_i3cdev(struct device*)'
  'struct gpio_desc* devm_fwnode_gpiod_get_index(struct device*, struct fwnode_handle*, const char*, int, enum gpiod_flags, const char*)'
  'int devm_iio_trigger_register(struct device*, struct iio_trigger*)'
  'int fwnode_irq_get_byname(const struct fwnode_handle*, const char*)'
  'const struct i3c_device_id* i3c_device_match_id(struct i3c_device*, const struct i3c_device_id*)'
  'struct iio_poll_func* iio_alloc_pollfunc(irqreturn_t(*)(int, void*), irqreturn_t(*)(int, void*), int, struct iio_dev*, const char*, ...)'
  'void iio_dealloc_pollfunc(struct iio_poll_func*)'
  'int iio_device_id(struct iio_dev*)'
  's64 iio_get_time_ns(const struct iio_dev*)'
  'ssize_t iio_read_const_attr(struct device*, struct device_attribute*, char*)'
  'int iio_read_mount_matrix(struct device*, struct iio_mount_matrix*)'
  'ssize_t iio_show_mount_matrix(struct iio_dev*, uintptr_t, const struct iio_chan_spec*, char*)'
  'void iio_trigger_notify_done(struct iio_trigger*)'
  'void iio_trigger_poll_chained(struct iio_trigger*)'
  'enum led_default_state led_init_default_state_get(struct fwnode_handle*)'

Bug: 277791334
Change-Id: I041b56da461721aa1c5922894692e1a9d2636b0b
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
8cf897cad2 ANDROID: ABI: Add usb related symbols for imx
31 function symbol(s) added
  'void device_set_of_node_from_dev(struct device*, const struct device*)'
  'int devm_extcon_register_notifier(struct device*, struct extcon_dev*, unsigned int, struct notifier_block*)'
  'struct phy* devm_phy_optional_get(struct device*, const char*)'
  'struct usb_phy* devm_usb_get_phy(struct device*, enum usb_phy_type)'
  'int ehci_handshake(struct ehci_hcd*, void*, u32, u32, int)'
  'int ehci_hub_control(struct usb_hcd*, u16, u16, u16, char*, u16)'
  'void ehci_init_driver(struct hc_driver*, const struct ehci_driver_overrides*)'
  'int ehci_setup(struct usb_hcd*)'
  'enum usb_phy_interface of_usb_get_phy_mode(struct device_node*)'
  'int of_usb_update_otg_caps(struct device_node*, struct usb_otg_caps*)'
  'int phy_reset(struct phy*)'
  'struct power_supply* power_supply_get_by_phandle(struct device_node*, const char*)'
  'int usb_add_gadget(struct usb_gadget*)'
  'void usb_del_gadget(struct usb_gadget*)'
  'int usb_ep_clear_halt(struct usb_ep*)'
  'void usb_ep_fifo_flush(struct usb_ep*)'
  'int usb_gadget_connect(struct usb_gadget*)'
  'int usb_gadget_disconnect(struct usb_gadget*)'
  'int usb_gadget_map_request_by_dev(struct device*, struct usb_request*, int)'
  'void usb_gadget_unmap_request(struct usb_gadget*, struct usb_request*, int)'
  'void usb_gadget_unmap_request_by_dev(struct device*, struct usb_request*, int)'
  'int usb_gadget_vbus_connect(struct usb_gadget*)'
  'int usb_gadget_vbus_disconnect(struct usb_gadget*)'
  'enum usb_dr_mode usb_get_dr_mode(struct device*)'
  'enum usb_device_speed usb_get_maximum_speed(struct device*)'
  'irqreturn_t usb_hcd_irq(int, void*)'
  'int usb_hcd_map_urb_for_dma(struct usb_hcd*, struct urb*, gfp_t)'
  'void usb_hcd_unmap_urb_for_dma(struct usb_hcd*, struct urb*)'
  'void usb_initialize_gadget(struct device*, struct usb_gadget*, void(*)(struct device*))'
  'void usb_phy_set_charger_state(struct usb_phy*, enum usb_charger_state)'
  'void usb_phy_set_event(struct usb_phy*, unsigned long)'

Bug: 277791334
Change-Id: Iaff5c09e6ec7d323d8d67f28e9d63a233f609bce
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
ca2184b06c ANDROID: ABI: Add net related symbols for imx
39 function symbol(s) added
  'int __phy_modify(struct phy_device*, u32, u16, u16)'
  'int genphy_c37_config_aneg(struct phy_device*)'
  'int genphy_c37_read_status(struct phy_device*)'
  'int genphy_c45_fast_retrain(struct phy_device*, bool)'
  'int genphy_c45_pma_setup_forced(struct phy_device*)'
  'irqreturn_t genphy_handle_interrupt_no_ack(struct phy_device*)'
  'int genphy_setup_forced(struct phy_device*)'
  'int iw_handler_get_spy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_get_thrspy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_set_spy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'int iw_handler_set_thrspy(struct net_device*, struct iw_request_info*, union iwreq_data*, char*)'
  'char* iwe_stream_add_event(struct iw_request_info*, char*, char*, struct iw_event*, int)'
  'char* iwe_stream_add_point(struct iw_request_info*, char*, char*, struct iw_event*, char*)'
  'char* iwe_stream_add_value(struct iw_request_info*, char*, char*, char*, struct iw_event*, int)'
  'void mdio_device_reset(struct mdio_device*, int)'
  'int mmc_hw_reset(struct mmc_card*)'
  'void mmc_set_data_timeout(struct mmc_data*, const struct mmc_card*)'
  'void mmc_wait_for_req(struct mmc_host*, struct mmc_request*)'
  'pci_power_t pci_choose_state(struct pci_dev*, pm_message_t)'
  'void pci_disable_msix(struct pci_dev*)'
  'int pci_enable_msix_range(struct pci_dev*, struct msix_entry*, int, int)'
  'int pci_reset_function(struct pci_dev*)'
  'int phy_modify_changed(struct phy_device*, u32, u16, u16)'
  'int phy_modify_mmd_changed(struct phy_device*, int, u32, u16, u16)'
  'int phy_modify_paged(struct phy_device*, int, u32, u16, u16)'
  'int phy_modify_paged_changed(struct phy_device*, int, u32, u16, u16)'
  'int phy_read_paged(struct phy_device*, int, u32)'
  'void phy_resolve_aneg_pause(struct phy_device*)'
  'int phy_restore_page(struct phy_device*, int, int)'
  'int phy_select_page(struct phy_device*, int)'
  'void phy_sfp_attach(void*, struct sfp_bus*)'
  'void phy_sfp_detach(void*, struct sfp_bus*)'
  'int phy_sfp_probe(struct phy_device*, const struct sfp_upstream_ops*)'
  'int phy_write_paged(struct phy_device*, int, u32, u16)'
  'int regulator_list_voltage_table(struct regulator_dev*, unsigned int)'
  'unsigned char sdio_f0_readb(struct sdio_func*, unsigned int, int*)'
  'void sdio_f0_writeb(struct sdio_func*, unsigned char, unsigned int, int*)'
  'mmc_pm_flag_t sdio_get_host_pm_caps(struct sdio_func*)'
  'int sdio_set_host_pm_flags(struct sdio_func*, mmc_pm_flag_t)'

2 variable symbol(s) added
  'const struct kernel_param_ops param_ops_ushort'
  'unsigned long phy_basic_t1_features[2]'

Bug: 277791334
Change-Id: I2972d36c836b34f46af5bed46934043ff05ca726
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Zhipeng Wang
d28b7797ed ANDROID: ABI: Add sound/soc/ related symbols for imx
50 function symbol(s) added
  'struct device* dev_pm_domain_attach_by_id(struct device*, unsigned int)'
  'char* devm_kvasprintf(struct device*, gfp_t, const char*, va_list)'
  'int devm_snd_dmaengine_pcm_register(struct device*, const struct snd_dmaengine_pcm_config*, unsigned int)'
  'bool dpcm_end_walk_at_be(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction)'
  'int regmap_add_irq_chip(struct regmap*, int, int, int, const struct regmap_irq_chip*, struct regmap_irq_chip_data**)'
  'void regmap_del_irq_chip(int, struct regmap_irq_chip_data*)'
  'int regmap_reinit_cache(struct regmap*, const struct regmap_config*)'
  'void regulator_bulk_free(int, struct regulator_bulk_data*)'
  'int snd_compr_malloc_pages(struct snd_compr_stream*, size_t)'
  'int snd_ctl_boolean_stereo_info(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'void snd_ctl_notify_one(struct snd_card*, unsigned int, struct snd_kcontrol*, unsigned int)'
  'void snd_dma_buffer_sync(struct snd_dma_buffer*, enum snd_dma_sync_mode)'
  'int snd_dmaengine_pcm_prepare_slave_config(struct snd_pcm_substream*, struct snd_pcm_hw_params*, struct dma_slave_config*)'
  'int snd_dmaengine_pcm_refine_runtime_hwparams(struct snd_pcm_substream*, struct snd_dmaengine_dai_dma_data*, struct snd_pcm_hardware*, struct dma_chan*)'
  'void snd_dmaengine_pcm_set_config_from_dai_data(const struct snd_pcm_substream*, const struct snd_dmaengine_dai_dma_data*, struct dma_slave_config*)'
  'int snd_hwparams_to_dma_slave_config(const struct snd_pcm_substream*, const struct snd_pcm_hw_params*, struct dma_slave_config*)'
  'int snd_interval_ranges(struct snd_interval*, unsigned int, const struct snd_interval*, unsigned int)'
  'int snd_pcm_format_big_endian(snd_pcm_format_t)'
  'int snd_pcm_format_linear(snd_pcm_format_t)'
  'int snd_pcm_format_unsigned(snd_pcm_format_t)'
  'int snd_pcm_hw_constraint_ratnums(struct snd_pcm_runtime*, unsigned int, snd_pcm_hw_param_t, const struct snd_pcm_hw_constraint_ratnums*)'
  'int snd_pcm_hw_rule_add(struct snd_pcm_runtime*, unsigned int, int, snd_pcm_hw_rule_func_t, void*, int, ...)'
  'dma_addr_t snd_sgbuf_get_addr(struct snd_dma_buffer*, size_t)'
  'int snd_soc_bytes_get(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_bytes_info(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_bytes_put(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_dai_active(struct snd_soc_dai*)'
  'int snd_soc_dai_set_bclk_ratio(struct snd_soc_dai*, unsigned int)'
  'unsigned int snd_soc_daifmt_clock_provider_flipped(unsigned int)'
  'void snd_soc_dapm_dai_free_widgets(struct snd_soc_dapm_widget_list**)'
  'int snd_soc_dapm_dai_get_connected_widgets(struct snd_soc_dai*, int, struct snd_soc_dapm_widget_list**, bool(*)(struct snd_soc_dapm_widget*, enum snd_soc_dapm_direction))'
  'int snd_soc_dapm_del_routes(struct snd_soc_dapm_context*, const struct snd_soc_dapm_route*, int)'
  'int snd_soc_dapm_disable_pin_unlocked(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_enable_pin(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_force_bias_level(struct snd_soc_dapm_context*, enum snd_soc_bias_level)'
  'int snd_soc_dapm_force_enable_pin_unlocked(struct snd_soc_dapm_context*, const char*)'
  'int snd_soc_dapm_sync_unlocked(struct snd_soc_dapm_context*)'
  'struct snd_pcm_substream* snd_soc_dpcm_get_substream(struct snd_soc_pcm_runtime*, int)'
  'int snd_soc_get_dai_name(const struct of_phandle_args*, const char**)'
  'int snd_soc_get_volsw_sx(struct snd_kcontrol*, struct snd_ctl_elem_value*)'
  'int snd_soc_info_xr_sx(struct snd_kcontrol*, struct snd_ctl_elem_info*)'
  'int snd_soc_jack_add_gpios(struct snd_soc_jack*, int, struct snd_soc_jack_gpio*)'
  'void snd_soc_jack_notifier_register(struct snd_soc_jack*, struct notifier_block*)'
  'int snd_soc_limit_volume(struct snd_soc_card*, const char*, int)'
  'struct snd_soc_component* snd_soc_lookup_component_nolocked(struct device*, const char*)'
  'void snd_soc_of_parse_node_prefix(struct device_node*, struct snd_soc_codec_conf*, struct device_node*, const char*)'
  'int snd_soc_of_parse_tdm_slot(struct device_node*, unsigned int*, unsigned int*, unsigned int*, unsigned int*)'
  'int snd_soc_params_to_frame_size(struct snd_pcm_hw_params*)'
  'int snd_soc_runtime_calc_hw(struct snd_soc_pcm_runtime*, struct snd_pcm_hardware*, int)'
  'struct regmap* syscon_regmap_lookup_by_compatible(const char*)'

1 variable symbol(s) added
  'const guid_t guid_null'

Bug: 277791334
Change-Id: Ibc7bc46e46be4818fb7f6306728ba5ada686c42b
Signed-off-by: Zhipeng Wang <zhipeng.wang_1@nxp.com>
2023-04-24 10:43:55 +00:00
Sebastian Ene
5fdf78bd51 ANDROID: KVM: arm64: Clear the PTEs which are not refcounted on unmap path
With coalescing we don't refcount default PTE entries. Fix an issue
which clears out non-refcounted PTE entries on the unmap path.

Bug: 279165129
Change-Id: Ie4fdabcc420d54c1338272d38abbe393fc5ce75c
Signed-off-by: Sebastian Ene <sebastianene@google.com>
Signed-off-by: Will Deacon <willdeacon@google.com>
2023-04-24 07:21:22 +00:00
Greg Kroah-Hartman
0fff48d6fe Merge 6.1.24 into android14-6.1
Changes in 6.1.24
	dm cache: Add some documentation to dm-cache-background-tracker.h
	dm integrity: Remove bi_sector that's only used by commented debug code
	dm: change "unsigned" to "unsigned int"
	dm: fix improper splitting for abnormal bios
	KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode
	KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow
	KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run
	KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU
	gpio: GPIO_REGMAP: select REGMAP instead of depending on it
	Drivers: vmbus: Check for channel allocation before looking up relids
	ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data()
	pwm: Make .get_state() callback return an error code
	pwm: hibvt: Explicitly set .polarity in .get_state()
	pwm: cros-ec: Explicitly set .polarity in .get_state()
	pwm: iqs620a: Explicitly set .polarity in .get_state()
	pwm: sprd: Explicitly set .polarity in .get_state()
	pwm: meson: Explicitly set .polarity in .get_state()
	ASoC: codecs: lpass: fix the order or clks turn off during suspend
	KVM: s390: pv: fix external interruption loop not always detected
	wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap()
	wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
	net: qrtr: Fix a refcount bug in qrtr_recvmsg()
	net: phylink: add phylink_expects_phy() method
	net: stmmac: check if MAC needs to attach to a PHY
	net: stmmac: remove redundant fixup to support fixed-link mode
	l2tp: generate correct module alias strings
	wifi: brcmfmac: Fix SDIO suspend/resume regression
	NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
	nfsd: call op_release, even when op_func returns an error
	icmp: guard against too small mtu
	ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement
	net: don't let netpoll invoke NAPI if in xmit context
	net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit
	sctp: check send stream number after wait_for_sndbuf
	net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
	ipv6: Fix an uninit variable access bug in __ip6_make_skb()
	platform/x86: think-lmi: Fix memory leak when showing current settings
	platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
	platform/x86: think-lmi: Clean up display of current_value on Thinkstation
	gpio: davinci: Do not clear the bank intr enable bit in save_context
	gpio: davinci: Add irq chip flag to skip set wake
	net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
	net: stmmac: fix up RX flow hash indirection table when setting channels
	sunrpc: only free unix grouplist after RCU settles
	NFSD: callback request does not use correct credential for AUTH_SYS
	ice: fix wrong fallback logic for FDIR
	ice: Reset FDIR counter in FDIR init stage
	raw: use net_hash_mix() in hash function
	raw: Fix NULL deref in raw_get_next().
	ping: Fix potentail NULL deref for /proc/net/icmp.
	ethtool: reset #lanes when lanes is omitted
	netlink: annotate lockless accesses to nlk->max_recvmsg_len
	gve: Secure enough bytes in the first TX desc for all TCP pkts
	arm64: compat: Work around uninitialized variable warning
	net: stmmac: check fwnode for phy device before scanning for phy
	cxl/pci: Fix CDAT retrieval on big endian
	cxl/pci: Handle truncated CDAT header
	cxl/pci: Handle truncated CDAT entries
	cxl/pci: Handle excessive CDAT length
	PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y
	PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y
	usb: xhci: tegra: fix sleep in atomic call
	xhci: Free the command allocated for setting LPM if we return early
	xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
	usb: cdnsp: Fixes error: uninitialized symbol 'len'
	usb: dwc3: pci: add support for the Intel Meteor Lake-S
	USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
	usb: typec: altmodes/displayport: Fix configure initial pin assignment
	USB: serial: option: add Telit FE990 compositions
	USB: serial: option: add Quectel RM500U-CN modem
	drivers: iio: adc: ltc2497: fix LSB shift
	iio: adis16480: select CONFIG_CRC32
	iio: adc: qcom-spmi-adc5: Fix the channel name
	iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
	iio: dac: cio-dac: Fix max DAC write value check for 12-bit
	iio: buffer: correctly return bytes written in output buffers
	iio: buffer: make sure O_NONBLOCK is respected
	iio: light: cm32181: Unregister second I2C client if present
	tty: serial: sh-sci: Fix transmit end interrupt handler
	tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
	tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
	nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
	nilfs2: fix sysfs interface lifetime
	dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
	serial: 8250: Prevent starting up DMA Rx on THRI interrupt
	ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN
	ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr
	ALSA: hda/realtek: Add quirk for Clevo X370SNW
	ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
	x86/acpi/boot: Correct acpi_is_processor_usable() check
	x86/ACPI/boot: Use FADT version to check support for online capable
	KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection
	KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode
	mm: kfence: fix PG_slab and memcg_data clearing
	mm: kfence: fix handling discontiguous page
	coresight: etm4x: Do not access TRCIDR1 for identification
	coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
	counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
	counter: 104-quad-8: Fix Synapse action reported for Index signals
	blk-mq: directly poll requests
	iio: adc: ad7791: fix IRQ flags
	io_uring: fix return value when removing provided buffers
	io_uring: fix memory leak when removing provided buffers
	scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()
	scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
	nvme: fix discard support without oncs
	cifs: sanitize paths in cifs_update_super_prepath.
	block: ublk: make sure that block size is set correctly
	block: don't set GD_NEED_PART_SCAN if scan partition failed
	perf/core: Fix the same task check in perf_event_set_output
	ftrace: Mark get_lock_parent_ip() __always_inline
	ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
	fs: drop peer group ids under namespace lock
	can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
	can: isotp: fix race between isotp_sendsmg() and isotp_release()
	can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
	can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos
	ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type()
	ACPI: video: Make acpi_backlight=video work independent from GPU driver
	ACPI: video: Add acpi_backlight=video quirk for Apple iMac14,1 and iMac14,2
	ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530
	net: stmmac: Add queue reset into stmmac_xdp_open() function
	tracing/synthetic: Fix races on freeing last_cmd
	tracing/timerlat: Notify new max thread latency
	tracing/osnoise: Fix notify new tracing_max_latency
	tracing: Free error logs of tracing instances
	ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
	tracing/synthetic: Make lastcmd_mutex static
	zsmalloc: document freeable stats
	mm: vmalloc: avoid warn_alloc noise caused by fatal signal
	wifi: mt76: ignore key disable commands
	ublk: read any SQE values upfront
	drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
	drm/nouveau/disp: Support more modes by checking with lower bpc
	drm/i915: Fix context runtime accounting
	drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
	ring-buffer: Fix race while reader and writer are on the same page
	mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
	mm/hugetlb: fix uffd wr-protection for CoW optimization path
	maple_tree: fix get wrong data_end in mtree_lookup_walk()
	maple_tree: fix a potential concurrency bug in RCU mode
	blk-throttle: Fix that bps of child could exceed bps limited in parent
	drm/amd/display: Clear MST topology if it fails to resume
	drm/amdgpu: for S0ix, skip SDMA 5.x+ suspend/resume
	drm/amdgpu: skip psp suspend for IMU enabled ASICs mode2 reset
	drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload()
	drm/i915/dp_mst: Fix payload removal during output disabling
	drm/bridge: lt9611: Fix PLL being unable to lock
	drm/i915: Use _MMIO_PIPE() for SKL_BOTTOM_COLOR
	drm/i915: Split icl_color_commit_noarm() from skl_color_commit_noarm()
	mm: take a page reference when removing device exclusive entries
	maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk()
	maple_tree: fix potential rcu issue
	maple_tree: reduce user error potential
	maple_tree: fix handle of invalidated state in mas_wr_store_setup()
	maple_tree: fix mas_prev() and mas_find() state handling
	maple_tree: be more cautious about dead nodes
	maple_tree: refine ma_state init from mas_start()
	maple_tree: detect dead nodes in mas_start()
	maple_tree: fix freeing of nodes in rcu mode
	maple_tree: remove extra smp_wmb() from mas_dead_leaves()
	maple_tree: add smp_rmb() to dead node detection
	maple_tree: add RCU lock checking to rcu callback functions
	mm: enable maple tree RCU mode by default.
	bpftool: Print newline before '}' for struct with padding only fields
	Linux 6.1.24

Change-Id: I475408e1166927565c7788e7095bdf2cb236c4b2
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2023-04-22 08:52:25 +00:00
William McVicker
3e97d25f51 Revert "ANDROID: Add utf8_data_table for case-folding support"
Revert submission 2540910-utf8-case-folding

Reason for revert: This causes issues on android14-5.15 which doesn't
have the utf8_data_table symbol. Let's just revert this topic and
leave it up to vendors to add utf8_data_table to their symbol lists.

Reverted changes: /q/submissionid:2540910-utf8-case-folding

Bug: 278561372
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I20712935e7880159cf734fb9e3667ce235a8fc78
2023-04-21 23:11:46 +00:00
Alistair Delva
d7595b4db4 ANDROID: Add filp_open_block() for zram
We currently plan to disallow use of filp_open() from drivers in GKI,
however the ZRAM driver still needs it. Add a new GKI-only variant of
filp_open() which only permits a block device to be opened, which can
be exported instead. This keeps ZRAM working but cuts down on drivers
that attempt to open and write files in kernel mode.

Bug: 179220339
Bug: 205141088
Change-Id: Id696b4aaf204b0499ce0a1b6416648670236e570
Signed-off-by: Alistair Delva <adelva@google.com>
(cherry picked from commit 62d9cb66f6)
2023-04-21 20:05:56 +00:00
litao
3183446493 ANDROID: GKI: add init symbol list file for vivo
6 function symbol(s) added
  'struct buffer_head* __getblk_gfp(struct block_device*, sector_t, unsigned int, gfp_t)'
  'void __lock_buffer(struct buffer_head*)'
  'void __wait_on_buffer(struct buffer_head*)'
  'void end_buffer_read_sync(struct buffer_head*, int)'
  'void submit_bh(blk_opf_t, struct buffer_head*)'
  'void unlock_buffer(struct buffer_head*)'

Bug: 278801617
Change-Id: I3d850f7de9c7acc1c3dc88e65ab811ee16f56a9d
Signed-off-by: litao <tao.li@vivo.corp-partner.google.com>
2023-04-21 15:05:10 +00:00
AngeloGioacchino Del Regno
cecdba9d60 FROMGIT: clocksource/drivers/timer-mediatek: Split out CPUXGPT timers
On MediaTek platforms, CPUXGPT is the source for the AArch64 System
Timer, read through CNTVCT_EL0.

The handling for starting this timer ASAP was introduced in commit
327e93cf9a ("clocksource/drivers/timer-mediatek: Implement CPUXGPT timers")
which description also contains an important full explanation of the
reasons why this driver is necessary and cannot be a module.

In preparation for an eventual conversion of timer-mediatek to a
platform_driver that would be possibly built as a module, split out
the CPUXGPT timers driver to a new timer-mediatek-cpux.c driver.

This commit brings no functional changes.

Bug: 161675989
(cherry picked from commit ca394a540eb03f78c82580c860eb7c8659ab5a22
https://git.linaro.org/people/daniel.lezcano/linux.git
timers/drivers/next)
Change-Id: If9fab60a448ed022673ed96a57f26eadaa440c3d
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Walter Chang <walter.chang@mediatek.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20230309103913.116775-1-angelogioacchino.delregno@collabora.com
2023-04-21 14:54:53 +00:00
Vijayanand Jitta
701e5a06a1 ANDROID: dma-buf: Export is_dma_buf_file
Export is_dma_buf_file function which will be used
by several vendors to get dmabuf info.

Bug: 267248830
Bug: 264474028
Change-Id: Ic8f7dd4f0a620839ab19f52841e9a6541515133c
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
Signed-off-by: T.J. Mercier <tjmercier@google.com>
(cherry picked from commit 409aa4d675)
2023-04-20 20:45:48 +00:00
Greg Kroah-Hartman
f17b0ab65d Linux 6.1.25
Link: https://lore.kernel.org/r/20230418120313.001025904@linuxfoundation.org
Tested-by: Markus Reichelt <lkt+2023@mareichelt.com>
Tested-by: Salvatore Bonaccorso <carnil@debian.org>
Tested-by: Chris Paterson (CIP) <chris.paterson2@renesas.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Link: https://lore.kernel.org/r/20230419093701.194867488@linuxfoundation.org
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Link: https://lore.kernel.org/r/20230419132048.193275637@linuxfoundation.org
Tested-by: Ron Economos <re@w6rz.net>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Conor Dooley <conor.dooley@microchip.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Markus Reichelt <lkt+2023@mareichelt.com>
Tested-by: Bagas Sanjaya <bagasdotme@gmail.com>
Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-04-20 12:35:14 +02:00
Waiman Long
243d9f3a11 cgroup/cpuset: Add cpuset_can_fork() and cpuset_cancel_fork() methods
[ Upstream commit eee8785379 ]

In the case of CLONE_INTO_CGROUP, not all cpusets are ready to accept
new tasks. It is too late to check that in cpuset_fork(). So we need
to add the cpuset_can_fork() and cpuset_cancel_fork() methods to
pre-check it before we can allow attachment to a different cpuset.

We also need to set the attach_in_progress flag to alert other code
that a new task is going to be added to the cpuset.

Fixes: ef2c41cf38 ("clone3: allow spawning processes into cgroups")
Suggested-by: Michal Koutný <mkoutny@suse.com>
Signed-off-by: Waiman Long <longman@redhat.com>
Cc: stable@vger.kernel.org # v5.7+
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-04-20 12:35:14 +02:00
Waiman Long
e33ab28395 cgroup/cpuset: Make cpuset_fork() handle CLONE_INTO_CGROUP properly
[ Upstream commit 42a11bf5c5 ]

By default, the clone(2) syscall spawn a child process into the same
cgroup as its parent. With the use of the CLONE_INTO_CGROUP flag
introduced by commit ef2c41cf38 ("clone3: allow spawning processes
into cgroups"), the child will be spawned into a different cgroup which
is somewhat similar to writing the child's tid into "cgroup.threads".

The current cpuset_fork() method does not properly handle the
CLONE_INTO_CGROUP case where the cpuset of the child may be different
from that of its parent.  Update the cpuset_fork() method to treat the
CLONE_INTO_CGROUP case similar to cpuset_attach().

Since the newly cloned task has not been running yet, its actual
memory usage isn't known. So it is not necessary to make change to mm
in cpuset_fork().

Fixes: ef2c41cf38 ("clone3: allow spawning processes into cgroups")
Reported-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Waiman Long <longman@redhat.com>
Cc: stable@vger.kernel.org # v5.7+
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-04-20 12:35:14 +02:00