patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Jens Kehne <jens.kehne@agilent.com>, Lee Jones <lee@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	support.opensource@diasemi.com
Subject: [PATCH AUTOSEL 6.17-5.10] mfd: da9063: Split chip variant reading in two bus transactions
Date: Thu,  9 Oct 2025 11:55:32 -0400	[thread overview]
Message-ID: <20251009155752.773732-66-sashal@kernel.org> (raw)
In-Reply-To: <20251009155752.773732-1-sashal@kernel.org>

From: Jens Kehne <jens.kehne@agilent.com>

[ Upstream commit 9ac4890ac39352ccea132109e32911495574c3ec ]

We observed the initial probe of the da9063 failing in
da9063_get_device_type in about 30% of boots on a Xilinx ZynqMP based
board. The problem originates in da9063_i2c_blockreg_read, which uses
a single bus transaction to turn the register page and then read a
register. On the bus, this should translate to a write to register 0,
followed by a read to the target register, separated by a repeated
start. However, we found that after the write to register 0, the
controller sometimes continues directly with the register address of
the read request, without sending the chip address or a repeated start
in between, which makes the read request invalid.

To fix this, separate turning the page and reading the register into
two separate transactions. This brings the initialization code in line
with the rest of the driver, which uses register maps (which to my
knowledge do not use repeated starts after turning the page). This has
been included in our kernel for several months and was recently
included in a shipped product. For us, it reliably fixes the issue,
and we have not observed any new issues.

While the underlying problem is probably with the i2c controller or
its driver, I still propose a change here in the interest of
robustness: First, I'm not sure this issue can be fixed on the
controller side, since there are other issues related to repeated
start which can't (AR# 60695, AR# 61664). Second, similar problems
might exist with other controllers.

Signed-off-by: Jens Kehne <jens.kehne@agilent.com>
Link: https://lore.kernel.org/r/20250804133754.3496718-1-jens.kehne@agilent.com
Signed-off-by: Lee Jones <lee@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

YES

- What it fixes
  - Addresses intermittent probe failures (~30% boots) during early chip
    identification reads on some I2C controllers (e.g., ZynqMP) where a
    combined transaction with a repeated start is mishandled, causing
    the read to be invalid. This is a user‑visible reliability bug in
    device bring‑up, not a feature change.

- Precise change
  - Adds a separate 1‑message transfer for page selection, then a
    2‑message transfer for register address + read:
    - New `da9063_page_sel_msgs` for the standalone page select
      transfer: drivers/mfd/da9063-i2c.c:40–43
    - Adjusts `da9063_paged_read_msgs` to start at the register select
      phase: drivers/mfd/da9063-i2c.c:45–49
    - First transaction (page switch): set up
      `xfer[DA9063_PAGE_SEL_MSG]` then call `i2c_transfer(...,
      DA9063_PAGE_SEL_CNT)` with robust error checks:
      drivers/mfd/da9063-i2c.c:71–86
    - Second transaction (register select + read): set up
      `xfer[DA9063_PAGED_READ_MSG_REG_SEL]` and
      `xfer[DA9063_PAGED_READ_MSG_DATA]`, then `i2c_transfer(...,
      DA9063_PAGED_READ_MSG_CNT)`: drivers/mfd/da9063-i2c.c:88–111
  - The only user of this helper is the early device/variant read in
    `da9063_get_device_type()`: drivers/mfd/da9063-i2c.c:125–131

- Why this is safer
  - Many I2C controllers have quirks with repeated starts across a
    write‑then‑read sequence targeting different internal device
    behaviors (here, page register write followed by a read). Splitting
    the sequence issues a STOP between page switch and read address
    selection, avoiding controller bugs while remaining compliant with
    the device’s register paging model.
  - Matches how the rest of the driver operates via regmap, which uses
    page windows and does not rely on a repeated start immediately after
    page switching (see `selector_reg = DA9063_REG_PAGE_CON` and range
    config): drivers/mfd/da9063-i2c.c:341–351

- Scope and risk
  - Change is small, self‑contained to one function used only during
    probe; no architectural changes.
  - Adds clearer error logging for page switch failures without altering
    normal data paths.
  - Potential concern (atomicity between page set and read) is minimal
    here: this path runs during probe, before other clients of the
    device exist; typical single‑master systems are unaffected. Even on
    multi‑master, the benefit of avoiding known controller bugs
    outweighs the negligible race risk at probe time.

- Backport considerations
  - Older stable trees (e.g., v6.10, v6.6, v6.1) still use the single
    `i2c_transfer` with 3 messages for this path; applying this patch is
    straightforward and does not depend on other recent infrastructure
    changes. The change only introduces a new small enum and splits the
    existing message sequence with added error checks.
  - No ABI changes, no feature additions, no cross‑subsystem
    dependencies.

- Stable policy fit
  - Fixes a real, observed boot‑time reliability bug.
  - Minimal, localized patch with low regression risk.
  - No new features or behavior changes beyond making the transaction
    sequence more robust.
  - Although there’s no explicit “Cc: stable”, the nature and scope make
    it an appropriate stable backport.

 drivers/mfd/da9063-i2c.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

diff --git a/drivers/mfd/da9063-i2c.c b/drivers/mfd/da9063-i2c.c
index c6235cd0dbdc4..1ec9ab56442df 100644
--- a/drivers/mfd/da9063-i2c.c
+++ b/drivers/mfd/da9063-i2c.c
@@ -37,9 +37,13 @@ enum da9063_page_sel_buf_fmt {
 	DA9063_PAGE_SEL_BUF_SIZE,
 };
 
+enum da9063_page_sel_msgs {
+	DA9063_PAGE_SEL_MSG = 0,
+	DA9063_PAGE_SEL_CNT,
+};
+
 enum da9063_paged_read_msgs {
-	DA9063_PAGED_READ_MSG_PAGE_SEL = 0,
-	DA9063_PAGED_READ_MSG_REG_SEL,
+	DA9063_PAGED_READ_MSG_REG_SEL = 0,
 	DA9063_PAGED_READ_MSG_DATA,
 	DA9063_PAGED_READ_MSG_CNT,
 };
@@ -65,10 +69,21 @@ static int da9063_i2c_blockreg_read(struct i2c_client *client, u16 addr,
 		(page_num << DA9063_I2C_PAGE_SEL_SHIFT) & DA9063_REG_PAGE_MASK;
 
 	/* Write reg address, page selection */
-	xfer[DA9063_PAGED_READ_MSG_PAGE_SEL].addr = client->addr;
-	xfer[DA9063_PAGED_READ_MSG_PAGE_SEL].flags = 0;
-	xfer[DA9063_PAGED_READ_MSG_PAGE_SEL].len = DA9063_PAGE_SEL_BUF_SIZE;
-	xfer[DA9063_PAGED_READ_MSG_PAGE_SEL].buf = page_sel_buf;
+	xfer[DA9063_PAGE_SEL_MSG].addr = client->addr;
+	xfer[DA9063_PAGE_SEL_MSG].flags = 0;
+	xfer[DA9063_PAGE_SEL_MSG].len = DA9063_PAGE_SEL_BUF_SIZE;
+	xfer[DA9063_PAGE_SEL_MSG].buf = page_sel_buf;
+
+	ret = i2c_transfer(client->adapter, xfer, DA9063_PAGE_SEL_CNT);
+	if (ret < 0) {
+		dev_err(&client->dev, "Page switch failed: %d\n", ret);
+		return ret;
+	}
+
+	if (ret != DA9063_PAGE_SEL_CNT) {
+		dev_err(&client->dev, "Page switch failed to complete\n");
+		return -EIO;
+	}
 
 	/* Select register address */
 	xfer[DA9063_PAGED_READ_MSG_REG_SEL].addr = client->addr;
-- 
2.51.0


  parent reply	other threads:[~2025-10-09 15:59 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-09 15:54 [PATCH AUTOSEL 6.17-6.6] hwmon: (k10temp) Add device ID for Strix Halo Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] clocksource/drivers/timer-rtl-otto: Work around dying timers Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] mfd: intel-lpss: Add Intel Wildcat Lake LPSS PCI IDs Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.4] bpf: Don't use %pK through printk Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] mfd: qnap-mcu: Handle errors returned from qnap_mcu_write Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.15] ACPI: scan: Add Intel CVS ACPI HIDs to acpi_ignore_dep_ids[] Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.1] bpftool: Fix -Wuninitialized-const-pointer warnings with clang >= 21 Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] bpf: Use tnums for JEQ/JNE is_branch_taken logic Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] soc: apple: mailbox: Add Apple A11 and T2 mailbox support Sasha Levin
2025-10-10  2:22   ` Nick Chan
2025-11-04  0:22     ` Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.4] ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method() Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] soc: sunxi: sram: add entry for a523 Sasha Levin
2025-10-09 16:38   ` Andre Przywara
2025-11-04  0:22     ` Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.10] pinctrl: single: fix bias pull up/down handling in pin_config_set Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] mmc: sdhci: Disable SD card clock before changing parameters Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.4] tee: allow a driver to allocate a tee_device without a pool Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.15] nvmet-fc: avoid scheduling association deletion twice Sasha Levin
2025-10-10  7:39   ` Daniel Wagner
2025-11-04  0:26     ` Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] soc: ti: k3-socinfo: Add information for AM62L SR1.1 Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.10] cpuidle: Fail cpuidle device registration if there is one already Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] firewire: ohci: move self_id_complete tracepoint after validating register Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] pinctrl: renesas: rzg2l: Add suspend/resume support for Schmitt control registers Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.4] arc: Fix __fls() const-foldability via __builtin_clzl() Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17] io_uring/zcrx: check all niovs filled with dma addresses Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] selftests/bpf: Fix incorrect array size calculation Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.6] blk-cgroup: fix possible deadlock while configuring policy Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] selftests/bpf: Fix selftest verifier_arena_large failure Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] ACPI: sysfs: Use ACPI_FREE() for freeing an ACPI object Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.15] power: supply: sbs-charger: Support multiple devices Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.12] thermal: intel: selftests: workload_hint: Mask unsupported types Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.4] memstick: Add timeout to prevent indefinite waiting Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.15] ACPI: PRM: Skip handlers with NULL handler_address or NULL VA Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.1] spi: rpc-if: Add resume support for RZ/G3E Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-5.10] soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.16] rust: kunit: allow `cfg` on `test`s Sasha Levin
2025-10-09 15:54 ` [PATCH AUTOSEL 6.17-6.6] power: supply: qcom_battmgr: handle charging state change notifications Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] mfd: qnap-mcu: Include linux/types.h in qnap-mcu.h shared header Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] hwmon: (dell-smm) Remove Dell Precision 490 custom config data Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17] kunit: Enable PCI on UML without triggering WARN() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] selftests: ublk: fix behavior when fio is not installed Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] i3c: dw: Add shutdown support to dw_i3c_master driver Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.1] bpf: Clear pfmemalloc flag when freeing all fragments Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17] mfd: macsmc: Add "apple,t8103-smc" compatible Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.1] nvme: Use non zero KATO for persistent discovery connections Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] power: supply: qcom_battmgr: add OOI chemistry Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] io_uring/zctx: check chained notif contexts Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.10] tools/power x86_energy_perf_policy: Fix incorrect fopen mode usage Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] uprobe: Do not emulate/sstep original instruction when ip is changed Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] tools/power x86_energy_perf_policy: Enhance HWP enable Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.15] tools/cpupower: fix error return value in cpupower_write_sysfs() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] selftests/bpf: Fix bpf_prog_detach2 usage in test_lirc_mode2 Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] firmware: qcom: tzmem: disable sc7180 platform Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17] kselftest/arm64: tpidr2: Switch to waitpid() over wait4() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] mfd: core: Increment of_node's refcount before linking it to the platform device Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] mfd: stmpe: Remove IRQ domain upon removal Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] soc: qcom: smem: Fix endian-unaware access of num_entries Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] cpufreq/longhaul: handle NULL policy in longhaul_exit Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] spi: loopback-test: Don't use %pK through printk Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] selftests/bpf: Fix flaky bpf_cookie selftest Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17] selftests: drv-net: Pull data before parsing headers Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] firmware: ti_sci: Enable abort handling of entry to LPM Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.15] soc: aspeed: socinfo: Add AST27xx silicon IDs Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] pinctrl: qcom: make the pinmuxing strict Sasha Levin
2025-10-09 16:08   ` Konrad Dybcio
2025-11-04  0:28     ` Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] libbpf: Fix USDT SIB argument handling causing unrecognized register error Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.1] irqchip/loongson-pch-lpc: Use legacy domain for PCH-LPC IRQ controller Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] arm64: zynqmp: Revert usb node drive strength and slew rate for zcu106 Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] bpftool: Add CET-aware symbol matching for x86_64 architectures Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] firmware: qcom: scm: Allow QSEECOM on Dell Inspiron 7441 / Latitude 7455 Sasha Levin
2025-10-09 15:55 ` Sasha Levin [this message]
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] tools/cpupower: Fix incorrect size in cpuidle_state_disable() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] io_uring/rsrc: respect submitter_task in io_register_clone_buffers() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17] pmdomain: thead: create auxiliary device for rebooting Sasha Levin
2025-10-09 16:02   ` Icenowy Zheng
2025-11-04  0:28     ` Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] spi: spi-qpic-snand: handle 'use_ecc' parameter of qcom_spi_config_cw_read() Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] cpufreq: ondemand: Update the efficient idle check for Intel extended Families Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] firmware: qcom: scm: preserve assign_mem() error return value Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] i3c: mipi-i3c-hci-pci: Add support for Intel Wildcat Lake-U I3C Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] bpf: Do not limit bpf_cgroup_from_id to current's namespace Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] arm64: zynqmp: Disable coresight by default Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] mfd: madera: Work around false-positive -Wininitialized warning Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] ARM: tegra: transformer-20: add missing magnetometer interrupt Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] tools/power x86_energy_perf_policy: Prefer driver HWP limits Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] selftests/futex: Fix futex_wait() for 32bit ARM Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] tools/power turbostat: Fix incorrect sorting of PMT telemetry Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] io_uring/zcrx: account niov arrays to cgroup Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.15] hwmon: (sbtsi_temp) AMD CPU extended temperature range support Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] ACPI: video: force native for Lenovo 82K8 Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] irqchip/loongson-eiointc: Route interrupt parsed from bios table Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.12] cpufreq: ti: Add support for AM62D2 Sasha Levin
2025-10-13  3:49   ` Paresh Bhagat
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] mfd: cs42l43: Move IRQ enable/disable to encompass force suspend Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.1] selftests/bpf: Upon failures, exit with code 1 in test_xsk.sh Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.1] irqchip/sifive-plic: Respect mask state when setting affinity Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] pmdomain: apple: Add "apple,t8103-pmgr-pwrstate" Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] video: backlight: lp855x_bl: Set correct EPROM start for LP8556 Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-5.4] clocksource/drivers/vf-pit: Replace raw_readl/writel to readl/writel Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.16] selftests/bpf: Fix arena_spin_lock selftest failure Sasha Levin
2025-10-09 15:55 ` [PATCH AUTOSEL 6.17-6.6] pinctrl: keembay: release allocated memory in detach path Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] mfd: kempld: Switch back to earlier ->init() behavior Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.6] ARM: tegra: transformer-20: fix audio-codec interrupt Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] ARM: tegra: p880: set correct touchscreen clipping Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] ACPI: resource: Skip IRQ override on ASUS Vivobook Pro N6506CU Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.16] block: check for valid bio while splitting Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.16] arm64: versal-net: Update rtc calibration value Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] thermal: gov_step_wise: Allow cooling level to be reduced earlier Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.10] nvme-fc: use lock accessing port_state and rport state Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] mfd: si476x: Add GPIOLIB_LEGACY dependency Sasha Levin
2025-10-09 16:03   ` Arnd Bergmann
2025-11-04  0:30     ` Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.10] soc: ti: pruss: don't use %pK through printk Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] pwm: pca9685: Use bulk write to atomicially update registers Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.6] hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] mfd: stmpe-i2c: Add missing MODULE_LICENSE Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] ACPI: SPCR: Support Precise Baud Rate field Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] clocksource/drivers/timer-rtl-otto: Do not interfere with interrupts Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.6] riscv: bpf: Fix uninitialized symbol 'retval_off' Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] irqchip/gic-v2m: Handle Multiple MSI base IRQ Alignment Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] hwmon: (dell-smm) Add support for Dell OptiPlex 7040 Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.12] hwmon: (lenovo-ec-sensors) Update P8 supprt Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-5.4] mmc: host: renesas_sdhi: Fix the actual clock Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.1] hwmon: sy7636a: add alias Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.1] futex: Don't leak robust_list pointer on exec race Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.16] mfd: simple-mfd-i2c: Add compatible strings for Layerscape QIXIS FPGA Sasha Levin
2025-10-09 15:56 ` [PATCH AUTOSEL 6.17-6.1] hwmon: (asus-ec-sensors) increase timeout for locking ACPI mutex Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251009155752.773732-66-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=jens.kehne@agilent.com \
    --cc=lee@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=support.opensource@diasemi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).