mirror of
https://github.com/torvalds/linux.git
synced 2026-10-15 12:19:02 +02:00
Here is the big set of char, misc, iio, counter, fpga, and other small
driver subsystems for 7.3-rc1.
Overall, due to some driver removals we only added a bit more code than
removed, which was a nice change. Highlights in this merge request are:
- Loads of IIO driver updates and additions
- binder driver updates (more on that below...)
- Removal of the SGI XP and GRU drivers as they are not used anymore
and turn out to be pretty insecure overall
- Removal of the obsolete ibmasm driver as it's not being used anymore
- Coresight driver updates and additions
- Mei driver udpates
- Counter driver updates
- FPGA driver updates
- ICC driver updates
- lots and lots of other tiny driver updates to resolve reported
issues
All of these have been in linux-next for a while, with the only reported
issues being some major merge conflicts. Miguel pointed out some of
these with the Rust tree merge, which is the majority of them. I'll
follow up with a diffstat of the merge resolution I made against your
most recent tree, which works for me.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCao143A8cZ3JlZ0Brcm9h
aC5jb20ACgkQMUfUDdst+ymtUgCeKB62gT1JfA86cg3NDB1opp+10N0An3oBBegQ
IJLqJgK45dTNtMGBwGFV
=68af
-----END PGP SIGNATURE-----
Merge tag 'char-misc-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc/IIO/etc driver updates from Greg KH:
"Here is the big set of char, misc, iio, counter, fpga, and other small
driver subsystems for 7.3-rc1.
Overall, due to some driver removals we only added a bit more code
than removed, which was a nice change. Highlights in this merge
request are:
- Loads of IIO driver updates and additions
- binder driver updates (more on that below...)
- Removal of the SGI XP and GRU drivers as they are not used anymore
and turn out to be pretty insecure overall
- Removal of the obsolete ibmasm driver as it's not being used
anymore
- Coresight driver updates and additions
- Mei driver udpates
- Counter driver updates
- FPGA driver updates
- ICC driver updates
- lots and lots of other tiny driver updates to resolve reported
issues
All of these have been in linux-next for a while"
* tag 'char-misc-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (513 commits)
iio: chemical: atlas-sensor: use iio_trigger_poll_nested() to fix remove UAF
iio: adc: pac1921: fix wrong channel used in trigger handler read
iio: light: gp2ap002: re-enable irq if runtime suspend fails
iio: light: gp2ap002: Fix unbalanced runtime PM on repeated event writes
iio: light: apds9306: fix PM reference leak in apds9306_read_data()
iio: gyro: mpu3050: fix sign of raw angular velocity readings
iio: srf04: fix pm_runtime handling on probe error path
iio: adc: ad4080: configure backend data size
iio: adc: adi-axi-adc: add data size support for AD408X backend
iio: chemical: atlas-sensor: fix PM reference leak in buffer postenable
iio: dac: ad5446: fix OF module device table
iio: light: opt4001: Fix reversed GENMASK() arguments in fault count mask
iio: light: opt4001: Reject integration times with a non-zero seconds part
iio: light: opt4001: Fix incompatible pointer type passed to div_u64_rem()
iio: light: opt4001: Fix power down clearing bits of the wrong register
iio: light: opt4060: Fix incorrect register name in threshold read error message
iio: light: opt4060: Fix pointer type passed to div_u64_rem()
iio: light: opt4060: Reject integration times with a non-zero seconds part
iio: light: ltrf216a: fix runtime PM reference leak in error path
iio: pressure: dps310: fix NULL pointer dereference on ACPI probe
...
173 lines
6.5 KiB
C
173 lines
6.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Header that contains the code (mostly headers) for which Rust bindings
|
|
* will be automatically generated by `bindgen`.
|
|
*
|
|
* Sorted alphabetically.
|
|
*/
|
|
|
|
/*
|
|
* First, avoid forward references to `enum` types.
|
|
*
|
|
* This workarounds a `bindgen` issue with them:
|
|
* <https://github.com/rust-lang/rust-bindgen/issues/3179>.
|
|
*
|
|
* Without this, the generated Rust type may be the wrong one (`i32`) or
|
|
* the proper one (typically `c_uint`) depending on how the headers are
|
|
* included, which in turn may depend on the particular kernel configuration
|
|
* or the architecture.
|
|
*
|
|
* The alternative would be to use casts and likely an
|
|
* `#[allow(clippy::unnecessary_cast)]` in the Rust source files. Instead,
|
|
* this approach allows us to keep the correct code in the source files and
|
|
* simply remove this section when the issue is fixed upstream and we bump
|
|
* the minimum `bindgen` version.
|
|
*
|
|
* This workaround may not be possible in some cases, depending on how the C
|
|
* headers are set up.
|
|
*/
|
|
#include <linux/hrtimer_types.h>
|
|
|
|
#include <linux/acpi.h>
|
|
#include <linux/gpu_buddy.h>
|
|
#include <drm/drm_device.h>
|
|
#include <drm/drm_drv.h>
|
|
#include <drm/drm_file.h>
|
|
#include <drm/drm_gem.h>
|
|
#include <drm/drm_gem_shmem_helper.h>
|
|
#include <drm/drm_gpuvm.h>
|
|
#include <drm/drm_ioctl.h>
|
|
#include <kunit/test.h>
|
|
#include <linux/auxiliary_bus.h>
|
|
#include <linux/bitmap.h>
|
|
#include <linux/blk-mq.h>
|
|
#include <linux/blk_types.h>
|
|
#include <linux/blkdev.h>
|
|
#include <linux/clk.h>
|
|
#include <linux/completion.h>
|
|
#include <linux/configfs.h>
|
|
#include <linux/cpu.h>
|
|
#include <linux/cpufreq.h>
|
|
#include <linux/cpumask.h>
|
|
#include <linux/cred.h>
|
|
#include <linux/debugfs.h>
|
|
#include <linux/device/faux.h>
|
|
#include <linux/dma-direction.h>
|
|
#include <linux/dma-mapping.h>
|
|
#include <linux/dma-resv.h>
|
|
#include <linux/errname.h>
|
|
#include <linux/ethtool.h>
|
|
#include <linux/fdtable.h>
|
|
#include <linux/file.h>
|
|
#include <linux/firmware.h>
|
|
#include <linux/fwctl.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/i2c.h>
|
|
#include <linux/interrupt.h>
|
|
#include <linux/io-pgtable.h>
|
|
#include <linux/ioport.h>
|
|
#include <linux/iosys-map.h>
|
|
#include <linux/jiffies.h>
|
|
#include <linux/jump_label.h>
|
|
#include <linux/mdio.h>
|
|
#include <linux/mm.h>
|
|
#include <linux/miscdevice.h>
|
|
#include <linux/of_device.h>
|
|
#include <linux/pci.h>
|
|
#include <linux/phy.h>
|
|
#include <linux/pid_namespace.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/pm_opp.h>
|
|
#include <linux/poll.h>
|
|
#include <linux/property.h>
|
|
#include <linux/pwm.h>
|
|
#include <linux/random.h>
|
|
#include <linux/refcount.h>
|
|
#include <linux/regulator/consumer.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/security.h>
|
|
#include <linux/serdev.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/sys_soc.h>
|
|
#include <linux/task_work.h>
|
|
#include <linux/tracepoint.h>
|
|
#include <linux/usb.h>
|
|
#include <linux/wait.h>
|
|
#include <linux/workqueue.h>
|
|
#include <linux/xarray.h>
|
|
#include <net/genetlink.h>
|
|
#include <net/netlink.h>
|
|
#include <trace/events/rust_sample.h>
|
|
|
|
/*
|
|
* The driver-core Rust code needs to know about some C driver-core private
|
|
* structures.
|
|
*/
|
|
#include <../../drivers/base/base.h>
|
|
|
|
#if defined(CONFIG_DRM_PANIC_SCREEN_QR_CODE)
|
|
// Used by `#[export]` in `drivers/gpu/drm/drm_panic_qr.rs`.
|
|
#include <drm/drm_panic.h>
|
|
#endif
|
|
|
|
/* `bindgen` gets confused at certain things. */
|
|
const size_t RUST_CONST_HELPER_ARCH_SLAB_MINALIGN = ARCH_SLAB_MINALIGN;
|
|
const size_t RUST_CONST_HELPER_ARCH_KMALLOC_MINALIGN = ARCH_KMALLOC_MINALIGN;
|
|
const size_t RUST_CONST_HELPER_PAGE_SIZE = PAGE_SIZE;
|
|
const size_t RUST_CONST_HELPER_GENLMSG_DEFAULT_SIZE = GENLMSG_DEFAULT_SIZE;
|
|
const gfp_t RUST_CONST_HELPER_GFP_ATOMIC = GFP_ATOMIC;
|
|
const gfp_t RUST_CONST_HELPER_GFP_KERNEL = GFP_KERNEL;
|
|
const gfp_t RUST_CONST_HELPER_GFP_KERNEL_ACCOUNT = GFP_KERNEL_ACCOUNT;
|
|
const gfp_t RUST_CONST_HELPER_GFP_NOWAIT = GFP_NOWAIT;
|
|
const gfp_t RUST_CONST_HELPER___GFP_ZERO = __GFP_ZERO;
|
|
const gfp_t RUST_CONST_HELPER___GFP_HIGHMEM = ___GFP_HIGHMEM;
|
|
const gfp_t RUST_CONST_HELPER___GFP_NOWARN = ___GFP_NOWARN;
|
|
const blk_features_t RUST_CONST_HELPER_BLK_FEAT_ROTATIONAL = BLK_FEAT_ROTATIONAL;
|
|
const fop_flags_t RUST_CONST_HELPER_FOP_UNSIGNED_OFFSET = FOP_UNSIGNED_OFFSET;
|
|
|
|
const xa_mark_t RUST_CONST_HELPER_XA_PRESENT = XA_PRESENT;
|
|
|
|
const gfp_t RUST_CONST_HELPER_XA_FLAGS_ALLOC = XA_FLAGS_ALLOC;
|
|
const gfp_t RUST_CONST_HELPER_XA_FLAGS_ALLOC1 = XA_FLAGS_ALLOC1;
|
|
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MERGEABLE = VM_MERGEABLE;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_READ = VM_READ;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_WRITE = VM_WRITE;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_EXEC = VM_EXEC;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_SHARED = VM_SHARED;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MAYREAD = VM_MAYREAD;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MAYWRITE = VM_MAYWRITE;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MAYEXEC = VM_MAYEXEC;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MAYSHARE = VM_MAYEXEC;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_PFNMAP = VM_PFNMAP;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_IO = VM_IO;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_DONTCOPY = VM_DONTCOPY;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_DONTEXPAND = VM_DONTEXPAND;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_LOCKONFAULT = VM_LOCKONFAULT;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_ACCOUNT = VM_ACCOUNT;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_NORESERVE = VM_NORESERVE;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_HUGETLB = VM_HUGETLB;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_SYNC = VM_SYNC;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_ARCH_1 = VM_ARCH_1;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_WIPEONFORK = VM_WIPEONFORK;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_DONTDUMP = VM_DONTDUMP;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_SOFTDIRTY = VM_SOFTDIRTY;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_MIXEDMAP = VM_MIXEDMAP;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_HUGEPAGE = VM_HUGEPAGE;
|
|
const vm_flags_t RUST_CONST_HELPER_VM_NOHUGEPAGE = VM_NOHUGEPAGE;
|
|
|
|
#if IS_ENABLED(CONFIG_GPU_BUDDY)
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_RANGE_ALLOCATION = GPU_BUDDY_RANGE_ALLOCATION;
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_TOPDOWN_ALLOCATION = GPU_BUDDY_TOPDOWN_ALLOCATION;
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_CONTIGUOUS_ALLOCATION =
|
|
GPU_BUDDY_CONTIGUOUS_ALLOCATION;
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_CLEAR_ALLOCATION = GPU_BUDDY_CLEAR_ALLOCATION;
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_CLEARED = GPU_BUDDY_CLEARED;
|
|
const unsigned long RUST_CONST_HELPER_GPU_BUDDY_TRIM_DISABLE = GPU_BUDDY_TRIM_DISABLE;
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_ANDROID_BINDER_IPC_RUST)
|
|
#include "../../drivers/android/binder/rust_binder.h"
|
|
#include "../../drivers/android/binder/rust_binder_events.h"
|
|
#endif
|