Commit 505d195b0f96 for kernel

commit 505d195b0f96fd613a51b13dde37aa5ad301eb32
Merge: 99dfe2d4da67 3c4ae63073d8
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Feb 17 09:11:04 2026 -0800

    Merge tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

    Pull char/misc/IIO driver updates from Greg KH:
     "Here is the big set of char/misc/iio and other smaller driver
      subsystem changes for 7.0-rc1. Lots of little things in here,
      including:

       - Loads of iio driver changes and updates and additions

       - gpib driver updates

       - interconnect driver updates

       - i3c driver updates

       - hwtracing (coresight and intel) driver updates

       - deletion of the obsolete mwave driver

       - binder driver updates (rust and c versions)

       - mhi driver updates (causing a merge conflict, see below)

       - mei driver updates

       - fsi driver updates

       - eeprom driver updates

       - lots of other small char and misc driver updates and cleanups

      All of these have been in linux-next for a while, with no reported
      issues"

    * tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (297 commits)
      mux: mmio: fix regmap leak on probe failure
      rust_binder: return p from rust_binder_transaction_target_node()
      drivers: android: binder: Update ARef imports from sync::aref
      rust_binder: fix needless borrow in context.rs
      iio: magn: mmc5633: Fix Kconfig for combination of I3C as module and driver builtin
      iio: sca3000: Fix a resource leak in sca3000_probe()
      iio: proximity: rfd77402: Add interrupt handling support
      iio: proximity: rfd77402: Document device private data structure
      iio: proximity: rfd77402: Use devm-managed mutex initialization
      iio: proximity: rfd77402: Use kernel helper for result polling
      iio: proximity: rfd77402: Align polling timeout with datasheet
      iio: cros_ec: Allow enabling/disabling calibration mode
      iio: frequency: ad9523: correct kernel-doc bad line warning
      iio: buffer: buffer_impl.h: fix kernel-doc warnings
      iio: gyro: itg3200: Fix unchecked return value in read_raw
      MAINTAINERS: add entry for ADE9000 driver
      iio: accel: sca3000: remove unused last_timestamp field
      iio: accel: adxl372: remove unused int2_bitmask field
      iio: adc: ad7766: Use iio_trigger_generic_data_rdy_poll()
      iio: magnetometer: Remove IRQF_ONESHOT
      ...

diff --cc drivers/android/binder/rust_binder_main.rs
index 47bfb114cabb,30e4517f90a3..aa5f2a75adb4
--- a/drivers/android/binder/rust_binder_main.rs
+++ b/drivers/android/binder/rust_binder_main.rs
@@@ -87,10 -89,18 +87,18 @@@ module!
      license: "GPL",
  }

+ use kernel::bindings::rust_binder_layout;
+ #[no_mangle]
+ static RUST_BINDER_LAYOUT: rust_binder_layout = rust_binder_layout {
+     t: transaction::TRANSACTION_LAYOUT,
+     p: process::PROCESS_LAYOUT,
+     n: node::NODE_LAYOUT,
+ };
+
  fn next_debug_id() -> usize {
 -    static NEXT_DEBUG_ID: AtomicUsize = AtomicUsize::new(0);
 +    static NEXT_DEBUG_ID: Atomic<usize> = Atomic::new(0);

 -    NEXT_DEBUG_ID.fetch_add(1, Ordering::Relaxed)
 +    NEXT_DEBUG_ID.fetch_add(1, Relaxed)
  }

  /// Provides a single place to write Binder return values via the
diff --cc drivers/android/binder/thread.rs
index 1f1709a6a77a,23697ae896ee..0b62d24b2118
--- a/drivers/android/binder/thread.rs
+++ b/drivers/android/binder/thread.rs
@@@ -15,11 -15,9 +15,10 @@@ use kernel::
      security,
      seq_file::SeqFile,
      seq_print,
 +    sync::atomic::{ordering::Relaxed, Atomic},
      sync::poll::{PollCondVar, PollTable},
-     sync::{Arc, SpinLock},
+     sync::{aref::ARef, Arc, SpinLock},
      task::Task,
-     types::ARef,
      uaccess::UserSlice,
      uapi,
  };
diff --cc drivers/net/wireless/ath/ath12k/wifi7/mhi.c
index b8d972659314,000000000000..988affafcfd1
mode 100644,000000..100644
--- a/drivers/net/wireless/ath/ath12k/wifi7/mhi.c
+++ b/drivers/net/wireless/ath/ath12k/wifi7/mhi.c
@@@ -1,138 -1,0 +1,134 @@@
 +// SPDX-License-Identifier: BSD-3-Clause-Clear
 +/*
 + * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
 + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
 + */
 +
 +#include "../mhi.h"
 +#include "mhi.h"
 +
 +static const struct mhi_channel_config ath12k_wifi7_mhi_channels_qcn9274[] = {
 +	{
 +		.num = 20,
 +		.name = "IPCR",
 +		.num_elements = 32,
 +		.event_ring = 1,
 +		.dir = DMA_TO_DEVICE,
 +		.ee_mask = 0x4,
 +		.pollcfg = 0,
 +		.doorbell = MHI_DB_BRST_DISABLE,
 +		.lpm_notify = false,
 +		.offload_channel = false,
 +		.doorbell_mode_switch = false,
- 		.auto_queue = false,
 +	},
 +	{
 +		.num = 21,
 +		.name = "IPCR",
 +		.num_elements = 32,
 +		.event_ring = 1,
 +		.dir = DMA_FROM_DEVICE,
 +		.ee_mask = 0x4,
 +		.pollcfg = 0,
 +		.doorbell = MHI_DB_BRST_DISABLE,
 +		.lpm_notify = false,
 +		.offload_channel = false,
 +		.doorbell_mode_switch = false,
- 		.auto_queue = true,
 +	},
 +};
 +
 +static struct mhi_event_config ath12k_wifi7_mhi_events_qcn9274[] = {
 +	{
 +		.num_elements = 32,
 +		.irq_moderation_ms = 0,
 +		.irq = 1,
 +		.data_type = MHI_ER_CTRL,
 +		.mode = MHI_DB_BRST_DISABLE,
 +		.hardware_event = false,
 +		.client_managed = false,
 +		.offload_channel = false,
 +	},
 +	{
 +		.num_elements = 256,
 +		.irq_moderation_ms = 1,
 +		.irq = 2,
 +		.mode = MHI_DB_BRST_DISABLE,
 +		.priority = 1,
 +		.hardware_event = false,
 +		.client_managed = false,
 +		.offload_channel = false,
 +	},
 +};
 +
 +const struct mhi_controller_config ath12k_wifi7_mhi_config_qcn9274 = {
 +	.max_channels = 30,
 +	.timeout_ms = 10000,
 +	.use_bounce_buf = false,
 +	.buf_len = 0,
 +	.num_channels = ARRAY_SIZE(ath12k_wifi7_mhi_channels_qcn9274),
 +	.ch_cfg = ath12k_wifi7_mhi_channels_qcn9274,
 +	.num_events = ARRAY_SIZE(ath12k_wifi7_mhi_events_qcn9274),
 +	.event_cfg = ath12k_wifi7_mhi_events_qcn9274,
 +};
 +
 +static const struct mhi_channel_config ath12k_wifi7_mhi_channels_wcn7850[] = {
 +	{
 +		.num = 20,
 +		.name = "IPCR",
 +		.num_elements = 64,
 +		.event_ring = 1,
 +		.dir = DMA_TO_DEVICE,
 +		.ee_mask = 0x4,
 +		.pollcfg = 0,
 +		.doorbell = MHI_DB_BRST_DISABLE,
 +		.lpm_notify = false,
 +		.offload_channel = false,
 +		.doorbell_mode_switch = false,
- 		.auto_queue = false,
 +	},
 +	{
 +		.num = 21,
 +		.name = "IPCR",
 +		.num_elements = 64,
 +		.event_ring = 1,
 +		.dir = DMA_FROM_DEVICE,
 +		.ee_mask = 0x4,
 +		.pollcfg = 0,
 +		.doorbell = MHI_DB_BRST_DISABLE,
 +		.lpm_notify = false,
 +		.offload_channel = false,
 +		.doorbell_mode_switch = false,
- 		.auto_queue = true,
 +	},
 +};
 +
 +static struct mhi_event_config ath12k_wifi7_mhi_events_wcn7850[] = {
 +	{
 +		.num_elements = 32,
 +		.irq_moderation_ms = 0,
 +		.irq = 1,
 +		.mode = MHI_DB_BRST_DISABLE,
 +		.data_type = MHI_ER_CTRL,
 +		.hardware_event = false,
 +		.client_managed = false,
 +		.offload_channel = false,
 +	},
 +	{
 +		.num_elements = 256,
 +		.irq_moderation_ms = 1,
 +		.irq = 2,
 +		.mode = MHI_DB_BRST_DISABLE,
 +		.priority = 1,
 +		.hardware_event = false,
 +		.client_managed = false,
 +		.offload_channel = false,
 +	},
 +};
 +
 +const struct mhi_controller_config ath12k_wifi7_mhi_config_wcn7850 = {
 +	.max_channels = 128,
 +	.timeout_ms = 2000,
 +	.use_bounce_buf = false,
 +	.buf_len = 8192,
 +	.num_channels = ARRAY_SIZE(ath12k_wifi7_mhi_channels_wcn7850),
 +	.ch_cfg = ath12k_wifi7_mhi_channels_wcn7850,
 +	.num_events = ARRAY_SIZE(ath12k_wifi7_mhi_events_wcn7850),
 +	.event_cfg = ath12k_wifi7_mhi_events_wcn7850,
 +};
diff --cc drivers/spi/spi-fsi.c
index 68276d195917,07dc3d24f2c9..f6a75f0184c4
--- a/drivers/spi/spi-fsi.c
+++ b/drivers/spi/spi-fsi.c
@@@ -528,12 -528,13 +528,12 @@@ static size_t fsi_spi_max_transfer_size
  	return SPI_FSI_MAX_RX_SIZE;
  }

- static int fsi_spi_probe(struct device *dev)
+ static int fsi_spi_probe(struct fsi_device *fsi)
  {
  	int rc;
 -	struct device_node *np;
  	int num_controllers_registered = 0;
  	struct fsi2spi *bridge;
- 	struct fsi_device *fsi = to_fsi_dev(dev);
+ 	struct device *dev = &fsi->dev;

  	rc = fsi_spi_check_mux(fsi, dev);
  	if (rc)
diff --cc samples/rust/rust_misc_device.rs
index 3ef8da543abf,49dd5814e1ab..87a1fe63533a
--- a/samples/rust/rust_misc_device.rs
+++ b/samples/rust/rust_misc_device.rs
@@@ -95,8 -95,9 +95,7 @@@
  //! }
  //! ```

 -use core::pin::Pin;
 -
  use kernel::{
-     c_str,
      device::Device,
      fs::{File, Kiocb},
      ioctl::{_IO, _IOC_SIZE, _IOR, _IOW},