From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7164034D39C for ; Mon, 23 Feb 2026 10:06:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771841200; cv=none; b=XB7WAD0LYkU/pP7bjnkf6YlArHThZijenZbkF8rKYKQo1ui4ldsGcsbiBqjPMTCf4R0IYEA+unQ5VLq79s5W0As+gq5QA8PAE8pnIIN5MxMc7t7EBbLlvANXhDyTsPnGw8VOG3QxUstoAAt+rJ7Nmf53qFCCake9USpsHI3XbKU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771841200; c=relaxed/simple; bh=L2McwryHKdwWGCjzJv0TLupA68IFuNeVEdcCWO1hoSA=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=VX+GzbcYjubXqkFZ+cds7a7yHIzANQLChzSzhnBjSL8A/vnQqR0iXbOO/olMapbL0lO11vhjl9phfCpQ3HJULEyojE+We9Gwh26FSc1HwsxdX2Yc0KlqepLFVQIXg8Kccd5XN+GDLxfKbFLM7XFE+sJBqcWKYrwPkM5JUYhxWqc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=W57lEhX2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TjwiDVqm; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="W57lEhX2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TjwiDVqm" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MMGhLj3532324 for ; Mon, 23 Feb 2026 10:06:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=NSn211O3d1uJR8U/RwtuC5 BQy2nQzcmgB1xsWAknq9A=; b=W57lEhX2xXNgCuZzNv7X+aSpxtKuflOlSyPZ0o WJYzsimCgNbgK9JmBgsn4GO2sS41y00tX2kX+s/37K6vKiDLi20r9AT/wsPLLJre lnK+Lo6A/YuxFkvKcNitUhdRybu9QnDpN9MB1phXIIhNl+aSQ8TZpCR7gicwRNUk gLQ/PpYEKqinRWuraEGhTPfigViMS7waY9XaGjnSC8mr/i7FDxh/C7PTTGfRoYB2 /Ags6dFcTO5pahGREwfvmyUedRmjB1LOQ0KUObV9d1gAkwZmRiXC2plmbvzn0Q+g fTI5aPH4EchW0BK6LF6vpWFKXNbbJbbMCEdWYM2Oleq0ALvA== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5u8m8ks-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 10:06:38 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb3a129cd2so5552823485a.0 for ; Mon, 23 Feb 2026 02:06:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771841197; x=1772445997; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=NSn211O3d1uJR8U/RwtuC5BQy2nQzcmgB1xsWAknq9A=; b=TjwiDVqm/fqixepMJj7gFccAzg9QSqlNhEzGy98/QsVJeQLZrwgt+cykrc99XdrtNl dZsWEQ8Gp/7F8PD/NPk+/qhWYusZfWLNDU06vi1V+9g74DGy+7nZ46ZrOOAwGyMuH3oi g3fI/Q/iTlFI0AZn7vIG1esKlr4soobEQIhhWaAa7Z8KG2O9/ATpHKPXiTvFlDdYd+pW CIFEtV05EdXFGBykI/5cuIq0k4fT4jFfVqWTDT6jp6rwbWfnXSf7ejl5nPv91/2OYdCr +B+dzmIsmQOP5QNlrp3laLKDCb+eeox7/jc/wUWevOYL9D+sZ/+DcI7adCJ1T5sFoR3y 3eMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771841197; x=1772445997; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NSn211O3d1uJR8U/RwtuC5BQy2nQzcmgB1xsWAknq9A=; b=Jcdot2530g5G1syil2fDLiVXKkM9GR+HiueZAJ2Qv08rlJLnaQjD1xcCpd3R1kylVy 7DRR1w67x6u+bfHMKEbgk5AQK2njfhg8dpUiaDDQSUyyswzXwwcPoSeXQ7UvSQfpoEQi ltARUBpaeN3fMCA4tW/l1Z7XPLEJx+2k47jmTHdmy5PotpZIg/Y6CrITYyxg1kH2uDhO 4ZY5/5ShDlhCi9q+4MbkCyvZ/fTNiv99p3r/pzBoSAiQn3unAXdpEL61Ac8/UxL6auAH +qgE34YvBA//IVwULkHvK8q/RQi9HJTDA2Rymf/YUhKfcuepZjf99O5ViFOYulWSniUU BKFQ== X-Gm-Message-State: AOJu0YzO9mRJi/E9Knj4GZFfbg49ahxCavX90WSsqjLBwc94CkSwlIXP Vmvud1O50FTx5W8gs+2TeDM0C0Th77SCIAwRhifDD7+6tLOvip0CT4ZvEDnBSVpDhfkDmhrhfpM wnijFXMpQZMfBEHcBesBYdBJRGinPsyLnmTQV0WQ19loubVBf3sgWyyea0BhTp26mSL0= X-Gm-Gg: AZuq6aI/a65ECwmgDJTZob6TVoraiMlxnCogfp2bitP5YgXR8UYtjs7dkTeGHm19mF7 9mFaFKIka0OWefC7DTHTqFE2F81/GSvZD1lJWdqDi+k8JBjQN37afQ2Ftr1a8MNTReFokKN5sFG T+d8gM4Q94kIBVOwVKk5gE6ry5WS3x+sSDcO1rw/2JoB/HxDzoLW9GmaUOcRn1QBc/KlUuT9abD QGuY4nhNlZ2kT0GZUMk34/S0x9NFSg2ObL0lAKhnxZCnWv/uapLUvQROH5ketvrRNlCil5nJrq9 VtLjGeaoR71QHoyRsw6DXbUOcuF+fhR/SLccfEYPvV2wbuSKe5jI5ynIxBihp9l/Dc8MOKfq69y GTs7eSdn1cm0QAl0wQ9egfS/UGs+qEQVj9UxeIsRhdyC9uZ2zwkfN X-Received: by 2002:a05:620a:198f:b0:8c6:a587:377f with SMTP id af79cd13be357-8cb7bffe749mr1707734585a.36.1771841197581; Mon, 23 Feb 2026 02:06:37 -0800 (PST) X-Received: by 2002:a05:620a:198f:b0:8c6:a587:377f with SMTP id af79cd13be357-8cb7bffe749mr1707731985a.36.1771841197164; Mon, 23 Feb 2026 02:06:37 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:bd71:422c:5e83:8b37]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970d54760sm18288885f8f.35.2026.02.23.02.06.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 02:06:36 -0800 (PST) From: Bartosz Golaszewski Subject: [PATCH v2 00/14] reset: major reset core refactoring Date: Mon, 23 Feb 2026 11:06:13 +0100 Message-Id: <20260223-reset-core-refactor-v2-0-5e5a7289190c@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAJUmnGkC/22NwQ6CMAyGX4X07Mg2hogn38NwmKXIEmG6ItEQ3 t3C2UvT72/7dQGmFIjhnC2QaA4c4ihgDxlg78c7qdAKg9W2NNZalYhpUhgTSdt5nGJSZefbytQ V3rADuXzKJHx267UR7gPL2nd/Mpst3XxHbXT51zcbpZVH5wqjC1ef2ktkzl9v/8A4DLkUaNZ1/ QE1TWWTvQAAAA== X-Change-ID: 20251222-reset-core-refactor-5fad7197cbcf To: Krzysztof Kozlowski , Philipp Zabel Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3021; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=L2McwryHKdwWGCjzJv0TLupA68IFuNeVEdcCWO1hoSA=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpnCab7Vq9iDkM73N8iO41FXT/aiYZsDb8vOvnS OUD/Wx5AC6JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaZwmmwAKCRAFnS7L/zaE w4u4D/9Omxks0eYYbeShzsjrxM4IPrZw1KZsvorB/tuItNWAx0eNzv7B8iOQ4mneELfb4V86uAm z0htqsOS1SpmaQdapeUEuGd6ZViMCqwjj+p8V7S5MVEUulI79fF8k57A+m8UjQ8ogrMMehoWXt2 uPUGTFBX8ULCrGVuIJkFkCoLFLZ//Lyqg46z+DwbIp3+JMY956t0EZ9fHfo4WFlaX12Mb7zpsd8 u2euXH2geSFejFAeaYpNChEvilVY3UkvpMBxCecouoKMxgRrVCHNpoCr94AR9EiqDlWIhVHBT1w uIkYkUIX0V1dssdhBFnUA77owSdZIhZzwOT8FOeJP/ePeRrwa1aQTrxxJ2WnOkStKFd9heFbaEX AJ+EVWi9nQ29TfyCnUo6mny8TwFNonv+FLq2FyR67XuVNlqZqsjeRZy8xUCJ5kOFp5uuI7lV0ag t7zGyQ3ESzzYnFWTT2r1Vhnoidt2Ztcn8FtVe5rCuRMnmLS7vGpRVrwAoHT0ymLz/qmKhaGf7zR V1slbttdBYQN4qcqH0LQtAHpHb5pCnzjiEFBqrYdK5SqfLazpbWp9VIWfn4XaARM6nPdDwGSfJK ZcJzYIz/VrEbab98Bzy4EFFIb8zbpEKhTz/vTRwcQxQJAwqzcrM0rPtjr18i1xEzA4FwvOAD8gI 5fVTnrnUe9jUvdQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-GUID: Y3dLjISS2Hr3rn8Jq3x6OOWAu_YOJG6D X-Authority-Analysis: v=2.4 cv=cJftc1eN c=1 sm=1 tr=0 ts=699c26ae cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=utrJi4ruKTUNcA1__9MA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: Y3dLjISS2Hr3rn8Jq3x6OOWAu_YOJG6D X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA4NiBTYWx0ZWRfX3F1lu+1lDHjG 2ByLwQ4vPLrSpYJmSMdVgAVAzr2c8fG3u/RuNtDyEzNvkRhKI5AySeJj6kj5dNjP1UyLgwQcc50 UBhp1w/Imzl7HbWGDwHfyUA8DZLbGJYCT/W0z9XQGHOY3UNHxsomaiMONS+2DCQbGcjHpSyvPMT 6lgtL+vA8e8/6vTivWE4ZugtkCEmXp+Y2ffp3GOa9Px3zWmfQqkcUkEPyoqWXXzQwo2SWpZxl5t VhWqZmoYedwphACg+cjIC89I9pa8sggX1HCAzp1fVEG1sgy2hSDdRkiqzvYHN6x55a7duUZunrM 8SLk+QC270ETfryHAKDQuvzS6hXd1MP0OQSVjgddPs1VmRpHzWwjJH+wgUla7Lam00GR4n5goYn WgbySi4qHICWw+0FoJKqGqYRko4torTBKmkCeAbN0kUEV/MutZmeqIf5JgmyWZxk0IvyWZluRPn oZ9OCEyEWDvCpegZG9A== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-23_02,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 clxscore=1015 malwarescore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 impostorscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230086 Here is the promised refactoring of the reset core. The main goal of the series is to make the reset subsystem fwnode-agnostic - meaning it can work with all kinds of firmware nodes instead of being OF-centric - but there are some other related changes in here as well. I'm sending it all out for review to give Phillipp a better picture of the end result but individual pieces can be picked up earlier if accepted. The series is logically split into several parts: Patches 1-5: Several reset-gpio improvements. Most are not very controversial but I included a reworked version of the patch adding a firmware device link between the auxiliary reset device and its consumers. Patches 6-7: Just general improvements. Patch 8: Before we support all firmware nodes (even software nodes for which no devlinks are created) we need to make sure reset drivers can survive a sudden unbinding of the supplier with consumers still holding references to the controller. This patch addresses it using SRCU. Patches 9,10: Rework locking in reset core. Make locking fine-grained instead of using a single global lock for everything. Patches 11-14: Make reset core use fwnode as primary source of device properties and references. Convert reset-gpio to becoming the first fwnode-agnostic driver. Signed-off-by: Bartosz Golaszewski --- Changes in v2: - fix lock guard usage - tweak commit messages - fix potential NULL-pointer dereference - drop unneeded patch (squash it into another one) - collect tags - rebase on top of v7.0-rc1 - Link to v1: https://lore.kernel.org/r/20260105-reset-core-refactor-v1-0-ac443103498d@oss.qualcomm.com --- Bartosz Golaszewski (14): reset: gpio: remove unneeded OF-node put reset: gpio: add a devlink between reset-gpio and its consumer reset: gpio: simplify fallback device matching reset: gpio: remove unneeded auxiliary_set_drvdata() reset: warn on reset-gpio release reset: fold ida_alloc() into reset_create_gpio_aux_device() reset: use lock guards in reset core reset: handle removing supplier before consumers reset: protect struct reset_controller_dev with its own mutex reset: protect struct reset_control with its own mutex reset: convert of_reset_control_get_count() to using firmware nodes reset: convert the core API to using firmware nodes reset: convert reset core to using firmware nodes reset: gpio: make the driver fwnode-agnostic drivers/reset/core.c | 477 +++++++++++++++++++++++++-------------- drivers/reset/reset-gpio.c | 27 +-- include/linux/reset-controller.h | 21 +- include/linux/reset.h | 43 ++-- 4 files changed, 359 insertions(+), 209 deletions(-) --- base-commit: c7c0b164c6629319df9172556b97795b591411f6 change-id: 20251222-reset-core-refactor-5fad7197cbcf Best regards, -- Bartosz Golaszewski