From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 BDDAE1B78F3 for ; Mon, 23 Feb 2026 07:27:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831670; cv=none; b=qivk2Kc4Hq0xetDJtIFbdqrbjWOA6UGY/LtSnd+C3hEj1J9EzcHk+jaYs1kkyJaUQi/F857972BP73Ts3ThXGxbd1AuU7gwvGXY0zQr9oWSzPhrsnJOGK2A5RCfUeEbg8Pu7C9PpVRqSsWh+3bL2+rNtHDe2K30Dhh1DN8dcGEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831670; c=relaxed/simple; bh=S/iCJqcIsf6jSjmWoog3Z0RGxa/CywDCilklRJJyfQ8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rs8+EYXodRv7fBWnHSmuA157mpf4gl3l6nEV+aZ7l7JBgqJZDDeQf4DpEIhq95OSNDWE1pr5QHITn4K//QSVrAV6CNW/ExsAGRt7xwFbFp/5X1UXfDzQ9TxGS9ptz7ox5iUCRyKWTQJgNJVNoxpcMG87Es6EHOwoaDSRDSaZbAc= 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=IPItmvQe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LhHx0BtW; arc=none smtp.client-ip=205.220.168.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="IPItmvQe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LhHx0BtW" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MJUhHP2396714 for ; Mon, 23 Feb 2026 07:27:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= W2fzDSwRwHz+xfG1K3EDcnND32iTxMHvxjY9VgqhwwU=; b=IPItmvQeYRgcZ6St cSFsWNSei9nDwbD0zwAoGiJ/+EN90CsBogIHT5No6AqFSdZ01cXKrLAYGFyfeEkW Msujc0HUxPmIL6pesdwMUAL7DFnW7qxTl1iYaViJage1OxE4uzJ6Xm2H5SQ7TCwJ LLzTFI4ji+ajN/sQZB1EHSaTVi9uduE+aN324d/J+IhQlHlAVVjqcIYuCr3yL7AU kGivsEcIaDhlGm2P47o7o0zhZv2A66P9MMXdeNtGlz3asMpf/4ZdA5GMeOGetK4U KfTBuQgwmJcC4PmF2S/pUjbqp5Mgyl8aRsn6EMOdoxmckoZDZ9nUY8An2KqNSoIu Q7aQlg== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5vgusmf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:48 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb3a129cd2so5444726285a.0 for ; Sun, 22 Feb 2026 23:27:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831667; x=1772436467; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=W2fzDSwRwHz+xfG1K3EDcnND32iTxMHvxjY9VgqhwwU=; b=LhHx0BtWOfbeR994Si+YeTgt41clSMse+FaF0S2DA1fi1h4fzu2nHe4xVY9FLBI96C mLMtkV1MKbtkL6RRHy4GTVVUH7cemD+xdVL/7mGW+l0W7I6DPhCnVRCg//3UZpnKE7bA fDl8zgLLrdu8N+8YqLgp08znbJk36Uoj09NGpv+sOuQS9lUi+XBzhToAjuJqRO8LkaH5 pKYuojKv5PzIa9HPzAKozotJzyncSK0Lc87gYGfkXGwFRSu/hTypHMv7+C3HzsT1hnri fmY2RGGdejcunvk6GoRo7KybKl/PM7m9KZNLLOvtSds5Fvvuok5DHdxOXs7P8A1F4ETd Gb9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831667; x=1772436467; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=W2fzDSwRwHz+xfG1K3EDcnND32iTxMHvxjY9VgqhwwU=; b=R70WP270dFenRMlXGwbEvN+0atiKKUMIhJ78eYPnZXBi6PlbCzaTYb1yIdXH7cBdt9 J6v0t0cc7zwR7qo1yqYECwtkATWFIZkX8MO/Tmjd3t2KGfhmqsNRepU4O6bvdiz3d0Vi Xn0I7YFIjEVvRyn+Sv7Ciy+sr9is+JTVMJ5qvE1XwKP+enxYt/qbZ0jWDYYe4nLH27Co BxQCLBIsYXIszWXo5UzQCOruUUHus3n0if1E5HFUg5U0DCkJ3on//fBPhrRrEXCZiAbV l2BD6PuwJRXBOCXhG7Qr6IRfnH1wOYhfnG6JEIy8bUvhjoJpRzDeuBrIC41ybRY0ziRe nhPA== X-Forwarded-Encrypted: i=1; AJvYcCXS9S25N2IZVszpyL+J+hXkJUTI/jVLz1OXGCcvGWe5zig+UrEV2JTkMDiUtn9KddS1PfTbS8HrhHJA7M0=@vger.kernel.org X-Gm-Message-State: AOJu0Yysa98K1pixqOqkSP5aHLkMymjq7UOFRD9xDON/ycjGkYtpiMPX vTx03DK+QI4uG3BPasJCpHgmX5HYi7TZeDY3ObeB0q+JYNv84D3KwJ15IHsjrR0YupGdMJQdAE+ 4OFpANoW9bwz1qQXMrqYrTrNyg1eNZ62P9irt9vc4pQbj3zah0ONXbfb2tg349OwZgBk= X-Gm-Gg: AZuq6aLN+Pfs/hXOi4AU1U835kOVrFDrZZWoBMTfvb5sJb0MnUCmaJVW4dqfDhiMriE hq3pF0r93HsMZAIeUF7tkXoXUqP3st8PEOfkhQJX/QmkBCdcLpwcutwy9MnwnUaVHkAPyvOVz3a JH3Pl5QcE6kqmRtTEtMiM5oS3SrHDa5kLzeceOhIrZbc5ZDI7RQoC3K4FPESz6isFBILGyfgtXQ j3b2/CM1OA0g/9gciBCaIKkz+B5w0RphrAZmj8/nQNmuElbFIwfqlyD2aweAxbRhr1DhtuRAfEg P+LHbLZqsLt90oNRQIyQ/sSx1nxAlxZNlT/zmiAt8Y6vpCtnBqx6bXksw2PyXdzkQKgputH9QK6 3XfdKQX4Qlspi8Y5DDOokt4EVG9iU+FDUp6yfnDylXrGLbA== X-Received: by 2002:a05:620a:46a8:b0:8c7:79d:f91b with SMTP id af79cd13be357-8cb7be3b839mr1530636685a.6.1771831667088; Sun, 22 Feb 2026 23:27:47 -0800 (PST) X-Received: by 2002:a05:620a:46a8:b0:8c7:79d:f91b with SMTP id af79cd13be357-8cb7be3b839mr1530635385a.6.1771831666656; Sun, 22 Feb 2026 23:27:46 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:46 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:29 +0100 Subject: [PATCH 1/9] workqueue: devres: Add device-managed allocate workqueue 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-1-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6407; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=S/iCJqcIsf6jSjmWoog3Z0RGxa/CywDCilklRJJyfQ8=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFm0Tv6ZFgGsT5DcytxW+0gXkvsl5c953wDR 5lE547LmoKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBZgAKCRDBN2bmhouD 1y+VD/9A1ukGl2lbgMZJ7jWzPKBdDezAk1X7RP6OkAEE5aR04FHlqMvjH01rHA5671wAZ/XlLXH u0mxgS7a+WxdX+brjZ/EJH3CDYDY1PnBzmm51D9Jh4q2HdSXmDRte5LGtqpE30n8WtWl7eQScl0 6yByEsaNIgXP4Jdo9Guy25J0mBhZDoVIOWNvRa/bzLXSc++UITkn3XMiGZVh9FejwX+49SFX2Wp PcCjEAHZY/dHyK5FjPp/eHzvfgoJDPZ2HkN+C6afRgC/QjCwzPs3CWJiGPZ7fk5HRy3w2TRmQBW sBWYAUH+6iQjfgbXKOXx3NLx4aVNmkkQADgy0YbW4tOv0w0I2/lAJZQ32G6C8CEiF14ftblmZ2y eCYlYOFnGeCe3wsA2kW2RMlXpRtCM7uhKoZXn9PDKlhFBb/n75UwN49CS19TdoUTzEUgGSCs7yl 5f0z0lerQLkMBn/9DW446KRVIRSm6qGw2rl1MSK/8LVr2A6xub9WyJX2QIFOqmF1Q2Y6b7z9Z4l 3ByK6rZe559yCZ69+nPTd0sARnancLikTI6X+im7xlOli+GWtukN1N/X8bVj01O7AVFKFCz7Lbh LiP1iXGGm++dc94x5/xy1nPudlf+JCH6nz60rVbtJstGSncuw2Yszo+sj1P/cgsDbZQccWR9u8h zIR0pmJMqRGoIdw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX8c2A6LMcBFD+ hne5nyCQTIjilPOSkhQvYJboXWwDZeGE/VaClYQ5fl4FkrLmVDYCWB1TJ06cJnd7/k8WlWUZjOx /6EBTWnYROBFGNERi1EeYIt8uNR4Fch0q7qrBVwDklJcApr3XZ+XVBDYn0U+2zMOUmcB3DmbbsM R9nOVccmHT2550P+Xy6wI4pRCy3NPg1Eg5H2soDkwR8A1nN7ag6v91wiOCLVYBSrHx7UeI9Kao8 9o73sQ7MvoIVbtMZ1vgWgSzHeBaLeavapgqZdjI2zTiTUe0AmD1BYENAcaz9kln6TEJrvf0/COR 5bNxp9aQNrD2XdThVBv4eQHTR5570g63ijsRzppv2sEXf4sIIMYCeiWrmcFGhD/yj68P0HKXPAW NeFf56XKz7wP+gDTwigjLm2ma8G9poct4ua0D6yN5cvDJ/1TMeHbdr1J1UW7Nkxd/7Q3r1oHU9l s6s3DJP9Xz9LRV0DcnQ== X-Authority-Analysis: v=2.4 cv=W+A1lBWk c=1 sm=1 tr=0 ts=699c0174 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=Z6KGZMJaPoknz67Z6hIA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: hEL63bv2RljWI5sQ5DlvlM4IfjnfC-cY X-Proofpoint-ORIG-GUID: hEL63bv2RljWI5sQ5DlvlM4IfjnfC-cY 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Add a Resource-managed version of alloc_workqueue() to fix common problem of drivers mixing devm() calls with destroy_workqueue. Such naive and discouraged driver approach leads to difficult to debug bugs when the driver: 1. Allocates workqueue in standard way and destroys it in driver remove() callback, 2. Sets work struct with devm_work_autocancel(), 3. Registers interrupt handler with devm_request_threaded_irq(). Which leads to following unbind/removal path: 1. destroy_workqueue() via driver remove(), Any interrupt coming now would still execute the interrupt handler, which queues work on destroyed workqueue. 2. devm_irq_release(), 3. devm_work_drop() -> cancel_work_sync() on destroyed workqueue. devm_alloc_workqueue() has two benefits: 1. Solves above problem of mix-and-match devres and non-devres code in driver, 2. Simplify any sane drivers which were correctly using alloc_workqueue() + devm_add_action_or_reset(). Signed-off-by: Krzysztof Kozlowski --- All further patches depend on this one. --- Documentation/driver-api/driver-model/devres.rst | 7 ++++++ include/linux/workqueue.h | 32 ++++++++++++++++++++= ++++ kernel/workqueue.c | 32 ++++++++++++++++++++= ++++ 3 files changed, 71 insertions(+) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentati= on/driver-api/driver-model/devres.rst index 7d2b897d66fa..dfc1e85ebfaa 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -464,3 +464,10 @@ SPI =20 WATCHDOG devm_watchdog_register_device() + +WORKQUEUE + devm_alloc_workqueue() + devm_alloc_ordered_workqueue() + devm_create_workqueue() + devm_create_freezable_workqueue() + devm_create_singlethread_workqueue() diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index a4749f56398f..583b0c4bd55c 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h @@ -512,6 +512,26 @@ __printf(1, 4) struct workqueue_struct * alloc_workqueue_noprof(const char *fmt, unsigned int flags, int max_active= , ...); #define alloc_workqueue(...) alloc_hooks(alloc_workqueue_noprof(__VA_ARGS_= _)) =20 +/** + * devm_alloc_workqueue - Resource-managed allocate a workqueue + * @dev: Device to allocate workqueue for + * @fmt: printf format for the name of the workqueue + * @flags: WQ_* flags + * @max_active: max in-flight work items, 0 for default + * @...: args for @fmt + * + * Resource managed workqueue, see alloc_workqueue() for details. + * + * The workqueue will be automatically destroyed on driver detach. Typica= lly + * this should be used in drivers already relying on devm interafaces. + * + * RETURNS: + * Pointer to the allocated workqueue on success, %NULL on failure. + */ +__printf(2, 5) struct workqueue_struct * +devm_alloc_workqueue(struct device *dev, const char *fmt, unsigned int fla= gs, + int max_active, ...); + #ifdef CONFIG_LOCKDEP /** * alloc_workqueue_lockdep_map - allocate a workqueue with user-defined lo= ckdep_map @@ -568,19 +588,31 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned= int flags, int max_active, */ #define alloc_ordered_workqueue(fmt, flags, args...) \ alloc_workqueue(fmt, WQ_UNBOUND | __WQ_ORDERED | (flags), 1, ##args) +#define devm_alloc_ordered_workqueue(dev, fmt, flags, args...) \ + devm_alloc_workqueue(dev, fmt, WQ_UNBOUND | __WQ_ORDERED | (flags), 1, ##= args) =20 #define create_workqueue(name) \ alloc_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM | WQ_PERCPU, 1, (name)) +#define devm_create_workqueue(dev, name) \ + devm_alloc_workqueue(dev, "%s", __WQ_LEGACY | WQ_MEM_RECLAIM | WQ_PERCPU,= 1, (name)) + #define create_freezable_workqueue(name) \ alloc_workqueue("%s", __WQ_LEGACY | WQ_FREEZABLE | WQ_UNBOUND | \ WQ_MEM_RECLAIM, 1, (name)) +#define devm_create_freezable_workqueue(dev, name) \ + devm_alloc_workqueue(dev, "%s", __WQ_LEGACY | WQ_FREEZABLE | WQ_UNBOUND |= \ + WQ_MEM_RECLAIM, 1, (name)) + #define create_singlethread_workqueue(name) \ alloc_ordered_workqueue("%s", __WQ_LEGACY | WQ_MEM_RECLAIM, name) +#define devm_create_singlethread_workqueue(dev, name) \ + devm_alloc_ordered_workqueue(dev, "%s", __WQ_LEGACY | WQ_MEM_RECLAIM, nam= e) =20 #define from_work(var, callback_work, work_fieldname) \ container_of(callback_work, typeof(*var), work_fieldname) =20 extern void destroy_workqueue(struct workqueue_struct *wq); +extern void devm_destroy_workqueue(struct device *dev, void *res); =20 struct workqueue_attrs *alloc_workqueue_attrs_noprof(void); #define alloc_workqueue_attrs(...) alloc_hooks(alloc_workqueue_attrs_nopro= f(__VA_ARGS__)) diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 72a8b64188b3..fd840c46ba55 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -5895,6 +5896,31 @@ struct workqueue_struct *alloc_workqueue_noprof(cons= t char *fmt, } EXPORT_SYMBOL_GPL(alloc_workqueue_noprof); =20 +__printf(2, 5) struct workqueue_struct * +devm_alloc_workqueue(struct device *dev, const char *fmt, unsigned int fla= gs, + int max_active, ...) +{ + struct workqueue_struct **ptr, *wq; + va_list args; + + ptr =3D devres_alloc(devm_destroy_workqueue, sizeof(*ptr), GFP_KERNEL); + if (!ptr) + return NULL; + + va_start(args, max_active); + wq =3D alloc_workqueue(fmt, flags, max_active, args); + va_end(args); + if (wq) { + *ptr =3D wq; + devres_add(dev, ptr); + } else { + devres_free(ptr); + } + + return wq; +} +EXPORT_SYMBOL_GPL(devm_alloc_workqueue); + #ifdef CONFIG_LOCKDEP __printf(1, 5) struct workqueue_struct * @@ -6025,6 +6051,12 @@ void destroy_workqueue(struct workqueue_struct *wq) } EXPORT_SYMBOL_GPL(destroy_workqueue); =20 +void devm_destroy_workqueue(struct device *dev, void *res) +{ + destroy_workqueue(*(struct workqueue_struct **)res); +} +EXPORT_SYMBOL_GPL(devm_destroy_workqueue); + /** * workqueue_set_max_active - adjust max_active of a workqueue * @wq: target workqueue --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 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 B126134AAFB for ; Mon, 23 Feb 2026 07:27:50 +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=1771831672; cv=none; b=fgo35kPdIj7SpTTkEOohhTFuaojC8ACd8LmAS6M+BSBR7KrkWJsE4g6WR8OK2GwGY6A3gCzDj/EqsmrAteAw14/clTYecvmHT0MO3nNyGu/LJAQJXosIz4fIeuW4lcJ3eNPV9RUeC4aDAisZsGxow/Xe6yT7+EkxHCWbbtWZc/k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831672; c=relaxed/simple; bh=H4Qs2JkZdWI+ycAqQDT56iXbPAaAVIJgWc4JAWD+760=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i/XUHX5P/3CmMacplx05w8F/rj6iGOXDZejQeBbQdDw98OrLe8A6tJdVwuqUPNEsCeqTl+/jB+J9fIF8FESeuLrcqPiZfbStWUykGJ9t2YsT6zrtrBVymv2ZcmGWkwmAHfhnlRbQI93KMyJB91xde5Fx93Ga/pOePFZABsrgjgs= 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=P7e0PJNi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kbxW0qlV; 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="P7e0PJNi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kbxW0qlV" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MKaOoY1972804 for ; Mon, 23 Feb 2026 07:27:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VRA3RyVyVxbH2SrEeG1JLyYKtVz8CEHlktSTCViEaYk=; b=P7e0PJNiKELxPETZ Awfd2x6s3dW2Ylcim2o3xqoz2thYA5k9ocfgidH4deTBUZaahdXtPDtZDGwIPiao f8EizRfXlZIXjA8p3hy9D+vFKPt6tgzMarQRAUBPNm7kJyv0Tvd/2xyxJQ8mdP/C OZYeQ+DA5RPkIWFqd01XZnueIN3ZDeRL6Y6yilnH/UA/vPixzT5LxVhdwnhsC32o nyrtRQ7k7rwzahA8RX3iQd8H+GZIpTAspfrKBGvVk3KUZFGdr2+NRx4ddgzrBVRd jEZmEgqbMC+v4M42eSCtBWNfGk5P95Q/CT+OTkxjyIg7IVTdCtrqHCVXf1MTiDZ/ VbN/kg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5vukq3h-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:49 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50336ebabe0so796233251cf.1 for ; Sun, 22 Feb 2026 23:27:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831669; x=1772436469; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=VRA3RyVyVxbH2SrEeG1JLyYKtVz8CEHlktSTCViEaYk=; b=kbxW0qlVoks5HxLHcpLxM7SjYzolyHOGDBGluMi0IBzt9MVwfpPV1ZqYnZOH7FlSvk 2tp8/gX0pGu5+MsijphXCnBaAcZq2JfRtYIE+wNXGmMaMNY9aTKvOp8l9Lab1pkdEWOy H5IAnRZvnHtfMVnJl3191RD+eXCea98ADAzwp4yjJYSSZrskkScWe/ydQcf2AH7GpvzJ FjO3ThGy5ZRh2jSqUTFHtT2Bh9PCr86yBJCg7u8oVoSjOWwDs0qvzLONbiBGoE+2rwfN qchfunbU8wqvMij9zta0Fz5N35x8xr12EqKJc/CnMwme153/v2O3pyzrYPda22BIcWdf g7FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831669; x=1772436469; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VRA3RyVyVxbH2SrEeG1JLyYKtVz8CEHlktSTCViEaYk=; b=IKryEUD32kpwWFA8ALTseyfe5NELvCFeroePDT+Rl6qYVNJixrJf7/zYeTu+uRIDqf SE5zc9zjcASbrOT7b7GEI76gZmmeZoquSilt3WtDIkO9vQPhZbSdBA9FKuV0EiK28WAK GGsB/ijQzh+iCHS9GrOelgLTEZMuW4KBUDpEoJcEt+vGC/7uYPDNv/nYGFG4vpON4Pug 1qB32jTZEsPFJ705k6Z7B/z3h3wLvpnWW+QP9n7rUypuPgT+crJj56t+R9JGcLb6pvxr QCSumkqPkAGs/1wvRR/WkP3i8Xf95bB8POK3EW2aFuX7/t5PMm5lmCV3G20rL7/TDJpR pKow== X-Forwarded-Encrypted: i=1; AJvYcCUIrEV0Q3F8OY2joZNRQphH0EEu8qDFrxfDfTEMuMBnOItn0iZOrhg6glJXQkQPjAzzIXOheJoGguKl6j4=@vger.kernel.org X-Gm-Message-State: AOJu0YwPPLR1x9oQ73zx9JBEutHxnnZ8rPWuChn727i4syQrpTLdoa7F PL3Mbl6cH0h2P8BGcJbbU9scAgSp7EDtqVuA3EeJVNBclzCcXtffrtgs+uTia/nvLJpY9iuNpDW a1qyjw9Qd5W+5nPJFmhzWwqCUsUmx+1bUJVtvVKYly3hM7TOsL1EY+4AWoic4xqOK5cI= X-Gm-Gg: AZuq6aIU4Om4HbVltCMP9S0bh8ScsQQfqlhYWt6xw1t7dE2nEBz0/DIffzcLVJx6gJr ALzAZBz/6x8bGne1srO9qdpzvJOERW0RNC5IyC5Gtxal8gUdvoNOGoYRB82B3GRdx9tmh0idUWk jNJz1DxZ2M0Z82PQz5ClyOolcW1Q2ZxBRyYbBl8RmrzwACR3oafGkX6rwCWRew8/ZquoTgj3n+B g8DxEmj9UNN8P8axotU5P+tYf1W0j1ObtTocl+h+PrEz6+Ff/VjAuTGaFzuE4Pvhq+yyCrDFqK2 7oEdomW1lwXyleP5U24VJORB/QdPbBmulq0BxPMMVUaxbxfq8rg8hv1SzltrtlSLRIFFwWbBDR9 yT91vP11jNB1UjUyw96aH27izConYi2bNYQ4HmzD/tJ2wzQ== X-Received: by 2002:a05:620a:410a:b0:8c9:e989:9d8c with SMTP id af79cd13be357-8cb7be3b56dmr1528263685a.3.1771831669233; Sun, 22 Feb 2026 23:27:49 -0800 (PST) X-Received: by 2002:a05:620a:410a:b0:8c9:e989:9d8c with SMTP id af79cd13be357-8cb7be3b56dmr1528260785a.3.1771831668821; Sun, 22 Feb 2026 23:27:48 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:48 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:30 +0100 Subject: [PATCH 2/9] power: supply: cw2015: Free allocated workqueue 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-2-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, stable@vger.kernel.org, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1121; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=H4Qs2JkZdWI+ycAqQDT56iXbPAaAVIJgWc4JAWD+760=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFnlKggUmMImpH+2q+EQOengTlEViaDst80b rri13T4ETCJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBZwAKCRDBN2bmhouD 1wL/D/4i3PYKpuAx1K5RL6gEvLpHiawDOSj9vjal+PUYon/bPYEopOZ/FUPvvzcyO3xwk1aE3fN Qjt1X6KJA3m12Rr3HoU4uzi7+QOtZhRC+Ee+waflrOuc2nmN4mgkRK5IZOP0P3ucCE7D0In7bU1 VaDgnrh/V3ZCm37EuD+mQYYz7d5L0M3aXvcA7VOYqILqkUMKkSsY3F6fG2XrLIXh6XAIXjpKyHW kRH+idw+/a/tRpyCvoWBeHHdap8DB5XfnKr23uqVXt3Bt058BG82+iRoUjAk5RX0NchuKOAoejV mh6Yr1zLGVrUT7WJLWURwo+hKOyMx16oSSHu34xPX4RCVgbF1XLH6h7T2RAy+sNSv2pbMtcprVO d4xt/XcLU1usNGFqYiOKxkWyt0d2g9BL90vIdxK49QaKrhi8FKAJa9PIjRGf7Mw2hcaj8wTxzAf nBMpjwYqK9tj5Dma7CIHUZ5MZZpjZrlc0PbAOOs9UyXHWLWG0t6A5KoemPUprjvMqUTOJkTkUM8 GVVtlaKnQwwUlKc8PHzp5UeJGRuoyXDOFUGsiarCRGWkISypxdARJzsBArPz8zFpm3ndeOnysuX lgYIX4UMonp+qXf7JQ9H520eW9Jwek8+IETCZeEhCvykTsj3Dwmo8Ip1VxDlwZ5+IeYSnWyiQkH 4+N7CZUWdWSHfdw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=AL4GpdX7 c=1 sm=1 tr=0 ts=699c0175 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=HiF-IioCT9ZGAFrUKQYA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: VasbmdP7K8IanFcEpmokhiu4KHUKZdiw X-Proofpoint-ORIG-GUID: VasbmdP7K8IanFcEpmokhiu4KHUKZdiw X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX8oz0G4AdegI4 8hbXjsn1MBF5maRDLpWeCaXBHTFwmYWvFntGsSW7ProThpCU+ZFau027tn7B1fJZBiQIYFGjbqS gAQy7o3MyM393swUSsYaExup6Cprs50xHMuAjg0R5hpmy/40Vt29qDnlVczwb8IV2KkYQXjNXLC KFtcKz3RVCCEjtlB4ALf+sINgrhIxTIVl+7wT7RqzcS/n++4bGekMq8kVOsm+h9HFp58a97xz5S Bf7B8KCl2Kv0h7u+6S9xxpJCWOwYkrkq5HRRcDV6S5oLs1kDSNBNGzv5WwPuNVjcjf0uhckB/G2 3PfaTSe/bivQR1IiUKb5grPZQnvQIuNMtgRF1j2gCQAarW1lKtQvKhZHk4SPbPzpmGdw3rcJSuF Cq3reEAXww8ejb4zpfhNIBf3qCDXofbqOw34SrsS1i5h55fUXKMxMC91Tf4i+pFmb+w9tv2iPtH U7fHTpwEYRZOQmE96NQ== 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 impostorscore=0 phishscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Use devm interface so allocated workqueue will be freed during device removal and error paths, thus fixing memory leak. Cc: Fixes: b4c7715c10c1 ("power: supply: add CellWise cw2015 fuel gauge driver") Signed-off-by: Krzysztof Kozlowski --- Depends on devm_create_singlethread_workqueue() from earlier patches. --- drivers/power/supply/cw2015_battery.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/power/supply/cw2015_battery.c b/drivers/power/supply/c= w2015_battery.c index a05dcc4a48f2..1e4e3b4c7460 100644 --- a/drivers/power/supply/cw2015_battery.c +++ b/drivers/power/supply/cw2015_battery.c @@ -694,7 +694,8 @@ static int cw_bat_probe(struct i2c_client *client) "No monitored battery, some properties will be missing\n"); } =20 - cw_bat->battery_workqueue =3D create_singlethread_workqueue("rk_battery"); + cw_bat->battery_workqueue =3D devm_create_singlethread_workqueue(&client-= >dev, + "rk_battery"); if (!cw_bat->battery_workqueue) return -ENOMEM; =20 --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 18EEC34A796 for ; Mon, 23 Feb 2026 07:27:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831674; cv=none; b=on3mM1MWLIcHiV3Lg1SVN+uQjRfXryiZHJ89+xGLwVrV35GUXZF0XAkXuNaFijoHaGCmLdj7BaL4bSZQU7qA/xLrYkUGqVfyp6Ux5t01jZfQykecu6ufRfHHZuQg6JvftK307lBLdVHsQlqsc9gfcXLMajmn7veZTig7rxxSm60= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831674; c=relaxed/simple; bh=PuW7vlRiKBG5VvIHCjRT7mt2DV/SLWGdgcWu/vmtLTg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iPY+zNo0SCUkIz4nwNcAbAZlUMgLodUvSW8RRjRSXpFsWKbdcfSFr3PmwufdHTECQxxL+3Q+OygQxizrr+t1FY/1Dqeep4WRxKgGQAVqPFhtq1QyfaIMQoaSNPUDEJCrILByo2t+fkEnUlTBx9JU3OHUVTuMVFGUpnsdsuDwSuE= 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=AhVNzKi/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NLbGHVjl; arc=none smtp.client-ip=205.220.168.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="AhVNzKi/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NLbGHVjl" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MLET571750344 for ; Mon, 23 Feb 2026 07:27:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 5YOJJ2aXA0BEB/msmbEifF3HLLVOcCnZaBxJ0rWPj8w=; b=AhVNzKi/n41rbMtm bJgATnTFIfFxKfHJ5a4WVIV5+HHTe8orLjZ7KAno3WPsIvsPXCcEn6lo2+S69uzB M2i0Kicl8APo20JMse+4x4D9AOlSYN8ESi5rtS6g8AwrElhexSIzNnd7rsCcSu38 ex4c2JICHfVu9jBgCqirckqKD6jq5Ip90iOgBaaVKYaqnj1c5UIh33bRuG6Ajz9O 6qYpdE+1S8agq9pQd5h8IXySalWBph49742vem2av3piY5nbjVVHWDeQVRB9Nrgf af50ETrukk+Q6rR84ZOOLDmYYiCubub2e+koxbd0ph8cxUFh8xiBrg2UH8cueYWc Ssgmag== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5wbbry7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:52 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb4817f3c8so3600464085a.3 for ; Sun, 22 Feb 2026 23:27:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831671; x=1772436471; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5YOJJ2aXA0BEB/msmbEifF3HLLVOcCnZaBxJ0rWPj8w=; b=NLbGHVjlf6qugvOYnWdryN1RqLRvCvLmgwHN59fU+r9tiTPUrQ9vF0P0g0+SPKaPMM yA7WjeVvE2IOhqN4PqJzKL2Vnj2bfBVfSWGxYr43rwhgdQONpuoMEfHSRqq5ZXjdMtJr m6dROH/DXBCLgVreiGa/AwPY97gKsu8gEIkr33rf1N19w+GlqEZ6cRtiCxY9sln9cbiG Y1cRJcutB1qWYDTFuKeU5BEnxlPN9tOYNwEw0bVxfPt/3YAew7b1PCQxtnUTg7LK7aTk DvtZxbhdHfjwlEFRTS7H9v6fcduvWbspDOUUXSGL2slnqcC7MSWRnX3sDw46tF3xuac/ ltqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831671; x=1772436471; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5YOJJ2aXA0BEB/msmbEifF3HLLVOcCnZaBxJ0rWPj8w=; b=XgOE6PBLjt9UtoY0y4yVI5Zn2Audrj3h8GwdXNX7IEjlwiKPMBAB0ZpXTJATVxNjfo pa8+zpJdlcrNIPWWHaeDnJkATQQ3uSW/6DUOwx4VaVNCMx6/k1VOyWXhIdYQkqQ/2yIG e33FR7ldBgY4rx8F4EztoUmul2mJM7JGrYEwaD25vnUNrsKTRThPBINcYTl4z9UiAsCQ UHq3VsAYswV7su/fD+HY18wzqbd/30u6mbNhZSW/PscnSepXOukZBrUtemPNTDn9Bq2Y VgSPpmZ4+mwJ8eiIj59d/zEJyYSeg+zG3qsQeW94OocfGQ01iceuXWBsUtB84fMvxxRP TSpg== X-Forwarded-Encrypted: i=1; AJvYcCWhTYdczNvojJSAoNqtJPpJC0CMfioLE61W6W9bUyobEALA/Cie19wuDWjVXHeU3JZF81lU9fD+SxRd0/M=@vger.kernel.org X-Gm-Message-State: AOJu0YyWrghmltQemutsUpOkYWUcS8eHwxh6MMPpfdD0Q/culQ5bC5EE 0gwz90N7ayBz/xvXI5kjG76e6ChpW9BZ49rwzu0z5Zcr2ObYiZWBKzsYMUF8piRfgFG5Si/lGm+ FjYGmlbYuTfKcLdldQ7eFefPbpLgnyuLKjy/DcKLSw8ncRvpqdByh56QUgbxjOKS1CvI= X-Gm-Gg: AZuq6aI6PnHcUbDd/Z5w85clnAypeVmSCH1RlyMaexhWS83UX+P1qxviezAaiMg5XSY 2xOBa78JW3N3CTEl42O9dmG8M7zRUqiVUyQa+t4FqQR98+XT0HV1ZCWjCqVcVqVz3mct7mRRAyu welK80kIxpbVnet7sI93/2+ytFT8HZRBrladCpTxOuI3x7cjgzBkQNobbwEZ8ylyWjYoeJI90VF 3CXm7KqWwyGDtXb2TUQQrs8QCppNT3W2GDFkUsXs6QyJxF3oi9R1rwcAJG8y82wDw598Mbk++p7 4TWRRmfMTwV+BrmA/4JemiZ2pxKGvozZvZP/j9sUEiAqQDAPkPdgHlXCXcAL2pTd/fTJzekU+F/ KfIowPaPUGFrsWRDP7yABTkCM5R54X/GNQyXb2qI94x9yhA== X-Received: by 2002:a05:620a:2994:b0:8c9:e98a:d9f1 with SMTP id af79cd13be357-8cb8c9fe5a6mr1011979985a.30.1771831671289; Sun, 22 Feb 2026 23:27:51 -0800 (PST) X-Received: by 2002:a05:620a:2994:b0:8c9:e98a:d9f1 with SMTP id af79cd13be357-8cb8c9fe5a6mr1011974885a.30.1771831670712; Sun, 22 Feb 2026 23:27:50 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:50 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:31 +0100 Subject: [PATCH 3/9] power: supply: max77705: Free allocated workqueue and fix removal order 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-3-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3319; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=PuW7vlRiKBG5VvIHCjRT7mt2DV/SLWGdgcWu/vmtLTg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFo/UKzNCc8KS1w39QKA5O4bC7woFna1QIAf BiaUZZ1gFmJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBaAAKCRDBN2bmhouD 1+EED/9RkN0mxPd4BItqsLJ3y1xwAvEJApbWLIpmsMJXLty2XG8gkwjO8hplcVmzFYS+iOGPsZj aPSAVj2pgSAUt12aoLw+ajNWfgCUzP7nsreSR3QFvNiFQf5rQ/wuCbRl2e6IlMc+i5McriHEnrd bn3OdqIahOkjSN2RSB24KS/ejjWMDLFu69ADWjuiFRRia+TILRWHGMqWjgawoOLvZPPHgMLEuuR zcuVoogWJCE3DW5Wti2+nzH1ufXTdWzHu3m37OrR1ddxunY7RYs9gqBHCDZrGf0DkJnEhBtfUW9 0IRlqNW+vrhKw4ggkuAe6KpzRUXK+Vu4wuquJBbJDwOSErn90S6sv5DwZPwccOz6O5/2HUAEn4p 75WRc4EDngZ6BirtmvZ6V6FON6OABNiwAQilzGnyrXz2wTf31hPLCPT8wyTsYkINffmY2/OY5Bf NB/DRkDRPUxLp+3wERhCwqCqB7+B7QAKjK2CjdfXDiRFJIsKn0Z/fyVxOdFCZiJwXQTos27zmFV tl2P4mW9+CyaKoH7bnw2IulsbIYWkicoDpPc4BlqaIt0iWInuAJMuVG748eqTphll4FFndqFk+o 6ga4pYKmERVHVmgSCqopHYyvccnuvgznBMZst0XYRfruAygHMVgeyT0VFowKtI6dRsCoIncJh6b pQwLQ3EyvLfqsXg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: GulNWEXyIU46t8Ik63U2wC_Rv0JI2PuV X-Authority-Analysis: v=2.4 cv=UZlciaSN c=1 sm=1 tr=0 ts=699c0178 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=NrNmjpoQ7DW6B6PU5UcA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: GulNWEXyIU46t8Ik63U2wC_Rv0JI2PuV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX1rnJrJP2ZIMI FapSro9bZSrLuyvObvy5n5gXdgEIDRRwNvlfqzTtWIsbo/IIWCEkxfCIggsZRwGZUI+g4mXTTe3 BeQhAJiFfwmhY5N5NM2p8OHIWva0mHJdovJhOLOl6pj1rioO4yHQ0qhsOuEyZOJU7qivNlDqxE0 csLzZ8A5IbB4x8/6lW9Mo+EgxZpihwFq6KC95Nd+NeVYWPABoTa8nex4tcreoPrziC0X1CWzUxW /xzTX2yHYwq7e86uE3wPy1WwVjPp8YtpWsfGX6D1Zn3MLz0Velnfw+n/COSIWOmAFp+uiEZK9MO EQqgZXD6PvqezJMC7duSpOsLhxF2Gortu40S4Fo/GJVuAUbHYnONPfCxP4sAymM17i4ogbLL8x6 MG0HKy9L9ZlMtRlOFib+3d+znmb0jw6jlS5rmdbNha1r1zxob0G0I4+jjbxK3ARqPErg1jhwBWY i5dHN25rEu4pJ6aQ5hA== 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Use devm interface for allocating workqueue to fix two bugs at the same time: 1. Driver leaks the memory on remove(), because the workqueue is not destroyed. 2. Driver allocates workqueue and then registers interrupt handlers with devm interface. This means that probe error paths will not use a reversed order, but first the destroy workqueue and then, via devm release handlers, free the interrupt. The interrupt handler schedules work on this exact workqueue, thus if interrupt is hit in this short time window - after destroying workqueue, but before devm() frees the interrupt, the work scheduling will lead to use of freed memory. Fixes: 11741b8e382d ("power: supply: max77705: Fix workqueue error handling= in probe") Fixes: a6a494c8e3ce ("power: supply: max77705: Add charger driver for Maxim= 77705") Signed-off-by: Krzysztof Kozlowski --- drivers/power/supply/max77705_charger.c | 36 ++++++++++-------------------= ---- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/drivers/power/supply/max77705_charger.c b/drivers/power/supply= /max77705_charger.c index 5dd02f658f5b..de12c215366c 100644 --- a/drivers/power/supply/max77705_charger.c +++ b/drivers/power/supply/max77705_charger.c @@ -646,51 +646,37 @@ static int max77705_charger_probe(struct i2c_client *= i2c) if (ret) return dev_err_probe(dev, ret, "failed to add irq chip\n"); =20 - chg->wqueue =3D create_singlethread_workqueue(dev_name(dev)); + chg->wqueue =3D devm_create_singlethread_workqueue(dev, dev_name(dev)); if (!chg->wqueue) return -ENOMEM; =20 ret =3D devm_work_autocancel(dev, &chg->chgin_work, max77705_chgin_isr_wo= rk); - if (ret) { - dev_err_probe(dev, ret, "failed to initialize interrupt work\n"); - goto destroy_wq; - } + if (ret) + return dev_err_probe(dev, ret, "failed to initialize interrupt work\n"); =20 ret =3D max77705_charger_initialize(chg); - if (ret) { - dev_err_probe(dev, ret, "failed to initialize charger IC\n"); - goto destroy_wq; - } + if (ret) + return dev_err_probe(dev, ret, "failed to initialize charger IC\n"); =20 ret =3D devm_request_threaded_irq(dev, regmap_irq_get_virq(irq_data, MAX7= 7705_CHGIN_I), NULL, max77705_chgin_irq, IRQF_TRIGGER_NONE, "chgin-irq", chg); - if (ret) { - dev_err_probe(dev, ret, "Failed to Request chgin IRQ\n"); - goto destroy_wq; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to Request chgin IRQ\n"); =20 ret =3D devm_request_threaded_irq(dev, regmap_irq_get_virq(irq_data, MAX7= 7705_AICL_I), NULL, max77705_aicl_irq, IRQF_TRIGGER_NONE, "aicl-irq", chg); - if (ret) { - dev_err_probe(dev, ret, "Failed to Request aicl IRQ\n"); - goto destroy_wq; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to Request aicl IRQ\n"); =20 ret =3D max77705_charger_enable(chg); - if (ret) { - dev_err_probe(dev, ret, "failed to enable charge\n"); - goto destroy_wq; - } + if (ret) + return dev_err_probe(dev, ret, "failed to enable charge\n"); =20 return devm_add_action_or_reset(dev, max77705_charger_disable, chg); - -destroy_wq: - destroy_workqueue(chg->wqueue); - return ret; } =20 static const struct of_device_id max77705_charger_of_match[] =3D { --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 C967334B682 for ; Mon, 23 Feb 2026 07:27:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831676; cv=none; b=TeZPXD3fY5JpovzfsMCoUe4tzbPofdAJzcpQ7EXBQkw5l7qjM0j8OwXk/Y1bkrWfj9aiKsGkmQSPZvzjCivN0puwnWU72bsIKtVmI22X7piqSWI2Tzkzaq5eY2azueIgWNpALEEYB5s312QF47ZC9as1kxgT+bM8Zrm0ENRU7Zg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831676; c=relaxed/simple; bh=JXjiqG9T78eAGojjEK9/Zi9nDA6gm8rfDk6Pl5Nb7BE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oV6N053szj55XPJnALGyM0wz9CnV6ZT6eeyF3VJyq3JdEalq5nOV1N69rz6gbTQNSyQU1sxdG5pYiYgIgI4dOqgwh4e/t4bAewdCp/+wx0+RWILp4kw+BFT3oDmAQUUiCZqg2eNUMeBpUGEbuKxolCyG0OKlMcXoQtIPcOPKIMA= 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=SpVHZjbm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aYlYD7IR; arc=none smtp.client-ip=205.220.168.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="SpVHZjbm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aYlYD7IR" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MJgNF4829136 for ; Mon, 23 Feb 2026 07:27:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= J8/2gvQaG0Yq+hSJC2X5/y/AH/3zpoF7o7r8roBAJXE=; b=SpVHZjbmZaC1Z+RT 50XGF06GAFXw7h4mNNwaUvn09re6nys6p0++c6ufA08lkdSvfVmuzzcSI2D+p7PW 0kbwQeoXfuQleIRzkZ1jdUEp43XPREr9XwmpZAcri4ihmzWnAWV187icZi+kFlik F7Avbuj12qOGhO9n9mNLtGsHKM/Zdoh0sXVWiIXvokaEX+ci3g1Wt/M8lSMV2C1I P1nPmHYLdQ5g12mUQjqkr1eB9K9z3c9wGKmFjWVmaDuidGQzMoz/S5R4fCoO8ri8 5byBZT8kEdPx4TwygRme45jgmViQIh7amKpIi3MqHzxeaTxHeuF1jdpXfxOTLlKU 5EvOTQ== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf603ks6b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:54 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb3a2eb984so1030485085a.0 for ; Sun, 22 Feb 2026 23:27:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831673; x=1772436473; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=J8/2gvQaG0Yq+hSJC2X5/y/AH/3zpoF7o7r8roBAJXE=; b=aYlYD7IRRdGg+G2bcIypMRCmIVAGcMWZB4mGg5NQtlQ78/X2kUofYJlOTD3cB6+OHi XxKe0z4i7D6khISEw3zehaGndKUbYHY35P3321ph1j6TCttzK82v/gQctMWaijobae86 0MxxvcVmZk4UkXFCC/Ij3qI7s241CdNEMpMJayIN31IQyFfW+x3n2u4yHkpuwPs9TiQO H7L1uXni6IbHqyBCc9fLb9cYp325HsWaJ0l81hgxMApjx4FKhQs609bNqJPOzunum88C s66pOI6B9lgqNrFE2jx9aW2OAifLToRDH+C9z/kJq71/ARG3sXaZUvuaLzhErrzVlStF vNMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831673; x=1772436473; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=J8/2gvQaG0Yq+hSJC2X5/y/AH/3zpoF7o7r8roBAJXE=; b=QFAEPOzmflVs7MY/7wbBLgHnYj4vtmyb6VEj4tN74iL3cdHajblQy1EMttlXDwXQOn bTxNcLJnVy0k7/6GCezAx2i7x33psg/QZiiRZN8wFAewZe8aQBAioHzEE9iDze6UMDQs A/sTZg2kx38yt4lr6xpmqfTKlC8lV/1b1Cqn1MKlpMuYtNErknU4I+/BsZDapjDniXKG pu4NFt1b/8NQrutqGmMONuabJLyHVNzF+MZu9rFQoVXCaKpyxh30sHdEB/O6MwDCewC3 n/sugX/jd0/NTT5AtUPkbhisPa1G8CsSzmiXUrW/rADeJwkHllMoC367L7g446md6DMi nrDQ== X-Forwarded-Encrypted: i=1; AJvYcCXEddHUZtnJgz0+TcCj1xPQp+UlrvL4RRp4kAEJ9ft7RzsstIETchgva9Y/0/WsNBBxS0kWW8tMDejnu5w=@vger.kernel.org X-Gm-Message-State: AOJu0Ywb4X1Dx6oSHTRseSYrft/Tr1uTjW7TUFCi+jbqh5aRnImuFauC MhWRBmvAM2/HIZFez/XLN1j63dAtPTI/G4QhK2tLImMT8H6DXgwIarDPuv1IrbZ36fkvsRF5nw1 rp19L1wlGGtrGJL/t90gOYAaV4+Ah9dGiw/H93t1bNeQerKVftyPQ4037HuMzIttT2IY= X-Gm-Gg: AZuq6aIUrqbxlNzaGZsWGu7UiejQE/uwCcBu1M0SYEeBHnFObzdZZVNwdoQdYICawZ/ vH1Sc1WB4842bHeo5d6Wz7acFt7gcHGjE6tOgXq1o35FOWLGtIyETO91uvC3nbYbWmkJ+FOyVuN TffPsyMWbohKoHUmTmURzpyBMubEIQq5p51ceyM868//bHtbmrlKta+qIOxgOsWb2zvJPttCBDI O1usg3QIAOb0KapCSDmcmSN18vdefTm2I+mScmwy1wwZvJgveHoxKMQAaWMKNjulvBRYurD/gMK hHZM6WLxIMvJILe2xVVCjWjiqtfguUkw6Im75eveDfaNfAu42Q1y23NnV3hICUY3Zqw8DTiYcLk HiROHOA2CslVJ1TMtLhLTpcQLj5ollKffqWvuaRKJGtlRSA== X-Received: by 2002:a05:620a:2a16:b0:8cb:44d7:39aa with SMTP id af79cd13be357-8cb8ca887c6mr919030885a.74.1771831673117; Sun, 22 Feb 2026 23:27:53 -0800 (PST) X-Received: by 2002:a05:620a:2a16:b0:8cb:44d7:39aa with SMTP id af79cd13be357-8cb8ca887c6mr919028285a.74.1771831672680; Sun, 22 Feb 2026 23:27:52 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:52 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:32 +0100 Subject: [PATCH 4/9] power: supply: mt6370: Simplify with devm_create_singlethread_workqueue 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-4-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1484; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=JXjiqG9T78eAGojjEK9/Zi9nDA6gm8rfDk6Pl5Nb7BE=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFp9FpdXlORK3TYpQCMwkXfvfWNBaac//1X0 vhPZnV5DAKJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBaQAKCRDBN2bmhouD 1zzREACQTNEy+SyS8bNuKjvXbhz5E4jN7BzYOJgWNyNmgpmJ/J0B04PSNn7WhRDzfnj20zlc3no 4Z7M3WMZLj5DqvNNbRKuKmcYK8fumg/o8XU9WV33VRrFKXZHZ9fTesJOPKo2Ldub65X3GHGkqK7 DpQ4aC8bK8O++YJp/QxQn1SGyQaJisOtMDOrk6nsOrOmZi3FftfnDF1yDgBmbHSZgSYrXGYFxJx LOA8z0QczvhcVAZdmENDdCbXK5OArtY07J0o/Gv3rHQ+2PvZmwswyFz4dsaQ4ckWnsX3VQ2rDTw i/gsWSxXY4M6NXKOo6267SGHkuwUwJhyALG8NwGGNncwrbNGuChatk5zV+ia7yiWwoRm4kinVV5 H5hMs6RMj1luoPCIO7NhYLwgePLg7PEQIyL13bkMLl0ZAtO7InkRRbRBj1Sg4LrruS3gg4QOYFH chibkuHJZsfg4m5bL7vjeqDilJ228Ymmh1vH1CBdvvfmHKziimERsZvPLv+dF0BXo5LwFpPrNrn gqno1C894RfGiUYOj9LEKWcVleHEfiUd7WIj1WnDhgVnrmuuN6W2NqNSR1fYWKBUnzm57jZK4Ie eTOZPwdVIE8s4gcOtEZ2LNfkUjadTTtP4gjawJ6JsI6T9QM50P9nuFwrhox4a3nhNO3DJnk3qc1 ZnclO3WsVt0zb8g== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=XbWEDY55 c=1 sm=1 tr=0 ts=699c017a cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=ztnre8jBXG8j2NFRlM0A:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX6QhF23lyHxcM N/v/LQz/EDCuZDDS1qWQLWMB0lvJoK8m+omFL/TcvGk4vDDJrGSL9CKKRZ2jsyBCojgSQ8pD6Ly xYtE3FQxcvPvCum0xvMvANvgv5rfnNofolaBuzmhuy81lrCbLAZ6EuwLusqYVJO93y8eZjk9Eeo oB5TtICman4asdGf76Hg/A6T/pyslcMr+Eq8Ablx8/Clcsbc3eSR9LC6MyquMFiScaDihhjv66k nHJEucqEqpczXSubgdH2zJkRN8MQVgD1YYTtxeJgP4KqaLC5P3OfIjZ1sfY4XwlLvvCjQjSHuHC 6Wm0mlnG+K3aT/b9uB8WcR/lYoKVAreSYLeB9k6+UEgFm+TVlUSk2odHGYHZn2nKf+Aztgh9cZq DhJumigZIVrbI8yAaakEjBZ6vWds6lMaVszY/MXP+RmWJ1uJYfML+Cf0zqk8UtNNPLq6Pdg568O 8PeVnFfY52H1x6jpy+Q== X-Proofpoint-ORIG-GUID: dMLvLAfzFAm_3bPkSNPlyu4wCSlZOYQv X-Proofpoint-GUID: dMLvLAfzFAm_3bPkSNPlyu4wCSlZOYQv 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 phishscore=0 priorityscore=1501 adultscore=0 spamscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Simplify the driver probe function by using devm_create_singlethread_workqueue() which handles the cleanup already. Signed-off-by: Krzysztof Kozlowski --- drivers/power/supply/mt6370-charger.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/power/supply/mt6370-charger.c b/drivers/power/supply/m= t6370-charger.c index e6db961d5818..f671fe62876a 100644 --- a/drivers/power/supply/mt6370-charger.c +++ b/drivers/power/supply/mt6370-charger.c @@ -761,13 +761,6 @@ static int mt6370_chg_init_psy(struct mt6370_priv *pri= v) return PTR_ERR_OR_ZERO(priv->psy); } =20 -static void mt6370_chg_destroy_wq(void *data) -{ - struct workqueue_struct *wq =3D data; - - destroy_workqueue(wq); -} - static irqreturn_t mt6370_attach_i_handler(int irq, void *data) { struct mt6370_priv *priv =3D data; @@ -893,14 +886,10 @@ static int mt6370_chg_probe(struct platform_device *p= dev) =20 priv->attach =3D MT6370_ATTACH_STAT_DETACH; =20 - priv->wq =3D create_singlethread_workqueue(dev_name(priv->dev)); + priv->wq =3D devm_create_singlethread_workqueue(dev, dev_name(priv->dev)); if (!priv->wq) return -ENOMEM; =20 - ret =3D devm_add_action_or_reset(dev, mt6370_chg_destroy_wq, priv->wq); - if (ret) - return ret; - ret =3D devm_work_autocancel(dev, &priv->bc12_work, mt6370_chg_bc12_work_= func); if (ret) return dev_err_probe(dev, ret, "Failed to init bc12 work\n"); --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 BFD1734B697 for ; Mon, 23 Feb 2026 07:27:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831678; cv=none; b=FmnZ1xFpujTNl7GodiJsqrd9ZAWnFEQ26PYfAx4sjffHGbDXKP1KSIktavEYxrBtI56dYrXXeDpr9rgG5SMI6+7div88wGLSc1FWkXqSMi+y7yPaJ0sNlSXSxm3E/txVkNXTHTabM+PXrIPujA+a+Q/rlIgDDrXBtqJx9m5HH84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831678; c=relaxed/simple; bh=G2Qaq1IYTDtA8nYq8hb67ozAR45iYXNAROMWtKf03Uw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=reZVh700OmiJpX8Qv+Yv6i3sSr2AgcjD7DZDjbQ60zWPz9kmbECddOP4mA7RFWAJ+W2ot2y8R+UulPyxDwuFtJVYRiBIQnLmI15M35W7vVM3V6JpJA2CNK9TYUmLtLrGrWfdvZ1qWzKCRZ/jZWqCuBPsZiyF0bvNI0GynfT4g1o= 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=IPkQwJkV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PrO/RMIJ; arc=none smtp.client-ip=205.220.168.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="IPkQwJkV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PrO/RMIJ" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MJj5wc2425433 for ; Mon, 23 Feb 2026 07:27:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AH50fw9QTtdpPbt41EGIzTuypwuiZyQQHwG7B4PGWqg=; b=IPkQwJkV2xswGPCh rc3S7O5B9GNV14vX4IX8goHyV0CQK1YBxQHVtKRzM7s59ilh+7WdzmyNwk0bPXo1 4BtOGKkxBBhQecc+toLDIAgYgKgx5oOC+N9otwEZFgVfHQKJtSlX9txYMWJQJHxD xUHTNr7LClPUIZveXVZbDiFmTfdb21XbH410rYJS3nv4+71vAyTjwE8jCfPA9ziA b61Lq5jOuNoK1GnE5TKO9/QABCXAQPfFymvBkzuQlukp0j0gJb4u22iIvLXz0rHw f9xG75AOu5gdH4B2LSoLOVXpfvnCRMMZE/DnZy3j34HbXdOgUxLXgx54prbFk90E yuSbgw== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5vgusn0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:55 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-89473f5a755so533260086d6.0 for ; Sun, 22 Feb 2026 23:27:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831675; x=1772436475; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=AH50fw9QTtdpPbt41EGIzTuypwuiZyQQHwG7B4PGWqg=; b=PrO/RMIJUPw6eGWSAjUIvLqS17ZSwo7HJ5FkWOxkLQGI7rW+nlIUJWPAaXc8zUSaEN 8i19xNX79qcexlzBN1qRmKFBQJxjlqUPskYQ9nesteGhihc16BcdhNnjJLF8Q7gwiLgq +aVpxmzBVpt/yBjrVR4FVkOyLzPwFDikXiMsuPmNfnRdM9V+bSSp60Klb2akACM5LgFn +K/Bt3sIWOogAw/Gu9XeGCyZsdcqNtqOWntNbEd7HTfwYLlEstQILqphnt96s5k9FpSk E5nl8aDSPqwhb+Ztr2EQCBH9zBTDu/8Rq0KPa0dfNLN881xHcDo2hmG7Oopsz6AyLMov pokg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831675; x=1772436475; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=AH50fw9QTtdpPbt41EGIzTuypwuiZyQQHwG7B4PGWqg=; b=pVSTgbWCYTz6L1rQPmgl4LdzQetsqJtf9L5izbCYXaBzTiFMZK4NfHIWwei4kO1RKR 836WBEXHNQ1CmpazQHC6ZlmZrvbRkAYwoUotfJTBGM2lyMK45w+9RJFvrAA4rNWonfaG EYBOjXv+I2en14ZBiG8ZvmdkuFS9MHRtlEmeG0kHwrSNUMLNdSQyBHF77b5tgbKveV5r 2s9CJZlaEzwPkEo+Dii3/IzSUQedrUeG2Mk1hw8KsViaXMvgOm8m4zBM2uMGa62BSMfW xNqUQxwYmEXSJ2CKFq7B8POo1rEq80wyLGIgRjYoA4x9GZJtGgAWPMgi64VMuM9yM5/g D0/A== X-Forwarded-Encrypted: i=1; AJvYcCVgvgkaSn/+UyAfIVuBUV9b+V3WajlRPHE9VBeY+yrXU/0PU/LQcRiSroZCJiwHEDCCTkcCZ/5WTmrTrh4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/vyrC9QP+RGi5XpI1uhhv9cFUKa+Tmwa96govx50PXk1rT7lR 2/9zC6nAnIXC5zUb+ptTUKxbqBDya34RajYal+B3W31STZTGGUIEUGBWoNchcv7/TYYyqDvURAn MMBISYfhADYRiG4GPKcWVtb6ecR8xW2DA3Gt2K+VlVdhQN+uPbirtq7CY0c188i50ycM= X-Gm-Gg: AZuq6aKJ57g9zzvqXfJH+w/ogm5gKd3WMcr+4f5PNAtuIwGUjhgm7LlN794ZEBOxuij l7L3nihdnWybhPV4VXP3Jvu8TwTyG1MO4YnRI6Ta5VsIbtzlVjBnVMlsKKf2DroeaDCqehJcP62 A2wieGY4QQvBvGehO6FCpx0yzZJx+0iCyjmTGXdmEchqH5V0d5hP3iy9Nv+8OLg76oyIK/f8sPU mYmgP4gSDxBd1dYWAYj5vdQaV3RZTvbmdHnagmbg97FnEhXK2+R5PAPwBMZlvs0F40elWs2DBO8 UjiHTeFS1038UYW6xhqTvNSo3mIiWOf1OzwPbP0b596okhWnckqE4O6fW5gTMLJnqSII8gQvJ9e /sZpnBBARPEz0gsdg+OScDVLDPSkCybXam7uD3/nE65WUhA== X-Received: by 2002:a05:620a:25c7:b0:8c6:ed3d:be60 with SMTP id af79cd13be357-8cb8ca8926emr880336085a.71.1771831674945; Sun, 22 Feb 2026 23:27:54 -0800 (PST) X-Received: by 2002:a05:620a:25c7:b0:8c6:ed3d:be60 with SMTP id af79cd13be357-8cb8ca8926emr880334085a.71.1771831674487; Sun, 22 Feb 2026 23:27:54 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:54 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:33 +0100 Subject: [PATCH 5/9] power: supply: ipaq_micro: Simplify with devm 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-5-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3021; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=G2Qaq1IYTDtA8nYq8hb67ozAR45iYXNAROMWtKf03Uw=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFqVbGd+Oyd+isBnLp3Irn3IzZIFzgrOBn+8 5TEkaEct86JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBagAKCRDBN2bmhouD 1/PbEACD32lwshZ2ZGTfWR2j4TEzEqcr5UkWKivQj4l2BDJ3b0cx3v9UXC+uQpxEwQRsNqj0BvG I1fbqNt2AyWmkGgU5CQ/mctWF9CLx35r8IK/9NdFjOqcFxht4uwjb6upeBsp+J9Pv4HEfYA0wAN KTA7ic+gakOj5ORF0AX0XB+z9UwqeB8IbQrIH7214fJQfuMgYgOooGihxSqfiOsUPuOZ9ls5/dM epmwdKvIbeyOiwRprJ77lkVrp+OMFQXa7Z3PUu0SZkkyFzbd7PZxw1z192ZbcfxAarusRPDYPy3 wg9eYXwcNtW8bxgrkKEeFuuHIQYLM/XjrlvnAGGRttd3REFDczgFmq2NJxW17OOVDZeYCMfKj4U x50tsh+z6Y0ziwp0yrkLamVu++cpOHEeoets78gt/cg4eSkEFdA7Bm6o1PBYHVqPrYUMwYO3uzw jTyOPwQM3T2UT6UB95Cz2t5+dDzKC/lSPReC0bsI+qBURe6pUl4SOcPr44WISrvlDFn+uxccMAP cZ9tGiPuZpEGR4H7DnWR1quOQzOJwWZEQ/EbBXRzQS0zF1KAcc0gxH1sTluqtgGKh/1LOGDmNJk ILB2rMYlea2r74+WwfmYhcO0zntsIz41R1A3mBVMXjAxQHSN1RCq0uN/1cASc2WbfdgyvfjfE/z 84W99rJwWh793pg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfXycr5jmcSDxVc OVJcPjXxnARTzfuv9qlYEW4pP9ZLruoCQ4d0uhzOKtGzk/B/NCbgizq6Vwe45OAFx1dqygwyFmM ANvWa6jzhjf+SAf8IsYaAWH64DevdZHYBZTzHy5hU3GoUKZu9FJsFN/aNJdwDTULWnTaGnEx4cZ gyQyePK+1eziJhCnPGFwDezoVmzfuxvDEjpiQGgbn/1FSvFzfV0Kgd/Ua9VjVupjvVAh0vI3o5o zUYOux4deC7Jq5wmdSZlT/j7CuGOKIV/pSDO5cNrIRrlovbov2kKdFXOEPmjgtcQ9gKnjMZbosm Cg3Mk0rqOVpZn+SNCjTRhdawx0DrKmSw4LaWVlHGuflSbUnsC7CBRwiZiu8V/xITLr+LUESwrak QjTr1de+Ft7aZ7g5OeUzCF91fj9RN9c3pYCW6k6W/codR3Teo3twC0sifjObXIBFTgW1bbgJ3JA S4Sm9nSJdahcup9ahFg== X-Authority-Analysis: v=2.4 cv=W+A1lBWk c=1 sm=1 tr=0 ts=699c017b cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=PkD0MmKtpR7JdVUpc-MA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: UZg79MA-XWqhTYVMCh1l5EMABEtED6pE X-Proofpoint-ORIG-GUID: UZg79MA-XWqhTYVMCh1l5EMABEtED6pE 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Simplify the driver by using devm interfaces, which allow to drop probe() error paths and the remove() callback. Signed-off-by: Krzysztof Kozlowski --- drivers/power/supply/ipaq_micro_battery.c | 50 ++++++++++-----------------= ---- 1 file changed, 16 insertions(+), 34 deletions(-) diff --git a/drivers/power/supply/ipaq_micro_battery.c b/drivers/power/supp= ly/ipaq_micro_battery.c index ff8573a5ca6d..5e3fe3852d0e 100644 --- a/drivers/power/supply/ipaq_micro_battery.c +++ b/drivers/power/supply/ipaq_micro_battery.c @@ -7,6 +7,7 @@ * Author : Linus Walleij */ =20 +#include #include #include #include @@ -232,49 +233,31 @@ static int micro_batt_probe(struct platform_device *p= dev) return -ENOMEM; =20 mb->micro =3D dev_get_drvdata(pdev->dev.parent); - mb->wq =3D alloc_workqueue("ipaq-battery-wq", - WQ_MEM_RECLAIM | WQ_PERCPU, 0); + mb->wq =3D devm_alloc_workqueue(&pdev->dev, "ipaq-battery-wq", + WQ_MEM_RECLAIM | WQ_PERCPU, 0); if (!mb->wq) return -ENOMEM; =20 - INIT_DELAYED_WORK(&mb->update, micro_battery_work); + ret =3D devm_delayed_work_autocancel(&pdev->dev, &mb->update, micro_batte= ry_work); + if (ret) + return ret; + platform_set_drvdata(pdev, mb); queue_delayed_work(mb->wq, &mb->update, 1); =20 - micro_batt_power =3D power_supply_register(&pdev->dev, - µ_batt_power_desc, NULL); - if (IS_ERR(micro_batt_power)) { - ret =3D PTR_ERR(micro_batt_power); - goto batt_err; - } + micro_batt_power =3D devm_power_supply_register(&pdev->dev, + µ_batt_power_desc, + NULL); + if (IS_ERR(micro_batt_power)) + return PTR_ERR(micro_batt_power); =20 - micro_ac_power =3D power_supply_register(&pdev->dev, - µ_ac_power_desc, NULL); - if (IS_ERR(micro_ac_power)) { - ret =3D PTR_ERR(micro_ac_power); - goto ac_err; - } + micro_ac_power =3D devm_power_supply_register(&pdev->dev, + µ_ac_power_desc, NULL); + if (IS_ERR(micro_ac_power)) + return PTR_ERR(micro_ac_power); =20 dev_info(&pdev->dev, "iPAQ micro battery driver\n"); return 0; - -ac_err: - power_supply_unregister(micro_batt_power); -batt_err: - cancel_delayed_work_sync(&mb->update); - destroy_workqueue(mb->wq); - return ret; -} - -static void micro_batt_remove(struct platform_device *pdev) - -{ - struct micro_battery *mb =3D platform_get_drvdata(pdev); - - power_supply_unregister(micro_ac_power); - power_supply_unregister(micro_batt_power); - cancel_delayed_work_sync(&mb->update); - destroy_workqueue(mb->wq); } =20 static int __maybe_unused micro_batt_suspend(struct device *dev) @@ -303,7 +286,6 @@ static struct platform_driver micro_batt_device_driver = =3D { .pm =3D µ_batt_dev_pm_ops, }, .probe =3D micro_batt_probe, - .remove =3D micro_batt_remove, }; module_platform_driver(micro_batt_device_driver); =20 --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 AF88134B669 for ; Mon, 23 Feb 2026 07:27:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831682; cv=none; b=jH8cm7mAouFofaTjIDwqu3GTibRWfk80ECkN56htgtWEKbgQEO7ZxHrCIJi614nde8kU+NJkDbMzpmCcxotJfVfCm9m5BLEPimVFzDtAUIw+vMSeJjLNH4wcMcAjsd4ZV+j4tt/W8oV5c48eP2nHe5/uh0LqN+TqA7/s/qm0DiA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831682; c=relaxed/simple; bh=r9x2dulUi2i/xHeDpXgX0ZLrT/131D7Fe/8Z5nmd+1c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UgLDpCmb79YREwbysNE7DPokjfGBGPFx07Zr1CKuS+j7kquYiNmNb9jooMXWfTPO6tFVwjVkUdfp+TIDK5UHurNhr2WFRqAc+hTkNTkV9SKU+/A6C5i1v4+UuH7XoHK3fteEZf5z0E5O7md7GSNprNJRXKsVeijqQL43bDigloI= 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=bXFefgdh; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=D7B7TJAv; arc=none smtp.client-ip=205.220.168.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="bXFefgdh"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="D7B7TJAv" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MKGhUx2989303 for ; Mon, 23 Feb 2026 07:27:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= nrZc/Z7Be2A9y5DqcniQ9Lm/4gP6G87E802BvnTYUp0=; b=bXFefgdhxPDsuijE pYnRuIw6NL0O9YNgYItg1nt7i4ZCQEWOoOkFJAUghwrB+umKaoiUYEtnZpPxNNPv OlxrAGmuu+grnE0hac0PCqTo2xII88LwC3ifwVKfvHze7LyFkgVMOAn4C6uMF0YJ 8jmAdcTJaXVqOp4YC+mru81BehBD+pO8nU349x98rPbYDSELkEAXuHO7UYcyA+yV K0q+d/6efiT0GCyZpTSr8tHZ67dyXrgpKBBLC7c8thjs3hNPl4RTemJhOjlQSZX9 zgOUbR4t5ODWBY2zjHg1jkLRKO2p5vtjTVKJ21Y/ynHGhui94xPGB13nXFD7ys/s uWY9GQ== 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 4cf5wk3qun-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:57 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb4817f3c8so3600510685a.3 for ; Sun, 22 Feb 2026 23:27:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831677; x=1772436477; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nrZc/Z7Be2A9y5DqcniQ9Lm/4gP6G87E802BvnTYUp0=; b=D7B7TJAvFxFW18uM8WyBE0jrIzd3vOZHZcOyKdNGkNZ9akr9fYqxFb3Yz2YswN6fS0 VwjUMHmGxvM61rL09Gw3G0VyR6hn+Ep+IPAucW9uM7YTPfDyBtDq+jqFL/H0PzE+cAah ub+/IkydBreJXtp5PiW2aonWrAcG9NUfKj8HhwE28STSvorMYAeHoz6SuUexq3b0XQf9 xSUOljrGD99l+T95t0kSd6eUHL+E+ePmMICT9+JLfTj3NX7YPuZSEuu2CNMD+j2+y0zb DVjCr175mL6kit4+XF12wEkX1feB/YO8Et7Vkf3DQ4tsafbq7GY/zEAXfknGPolbqYGE w4hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831677; x=1772436477; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=nrZc/Z7Be2A9y5DqcniQ9Lm/4gP6G87E802BvnTYUp0=; b=u3jJJoayW0VQh1xnHY0uDPQScHkfh1f6IjMShZk1chpU4ammEUmgunpfw6IRRyT1ei VmkPoybyhxHZiOmBBFgCW06zYgxPgomdaCZlY5K89Oe+CjU98SZIXgExTOgZbJRgjYCY uf3UncJ4KUWt6pLfLY6ZJB+c6ibQYWnPZ0HxoTfmRWB8HXDNg4c5Slc5YFiI+iHZ2R78 KTWEYW5tMIHJwqSfwzEXeSWl0EsrEzOkpgLivq8wNSsdNTaTSoS5r078Y4bIInx71zAd W4Vb6Wt5l3o33s16ken6j5zYzVEKAW0O2N5LV48A5Qee0OdSRbhCQ5H5B3hNMFrYBUsz 4qcg== X-Forwarded-Encrypted: i=1; AJvYcCVkEHUDQo8ggO0NzHTPbLS+u2kEeTYabI6xRFBPB9cRq27VZDzdZkD51L3DOWTUNH2tzLlZbsxq7Am9yY8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8sHEqsHUbs2FIirFJ+l+vyl1Jo/fCkkkheE+Xpsmuo+GZuwBv jfyyDN6fU1GG7iZU7UjKmW2z8ZkRfKYb4VUwmZ/9TrtqXBEKtmaXv9Od8Go5d6zriMHfMoh1Rmh 5SyYujdulyIo75+Kg9HleJ6sUwymKmB1c9E1+X864hFeIrkfUfK5+oTwGap1LZzdA5qs= X-Gm-Gg: AZuq6aLu53JmsjvZiFrOuBC6E/EBWX5scqo35j+THZNxH2lRa2rDwv53y3IXb3gSikh R9YQp7q7FY+QHGZIPm8ts14ZOVyv168U3bAPlrkgSCci9t5n0we3PlRO8+3X/iKoGGeMWW1XrOH uwDN7eBk3eyPVUfBkYXRc3XvagwumXgM+WI8GG/s9T4GdNEuFmM5YZEN+6DSHVmJlLXi0Fj9H9T Cfu/o8zffwJGIFnT79M4nkwSl1RHuVNYwINwY+d8rWizb+sn8sKycm3lM5gl1NvTquusNAM8AMd Byv52gXnRA9WYFT+OWe+8kCliHB4qDDlnbZOxeSP+LZrzJb/A+dhWbI8h9R/3WAuNSd4Y/cHVZa 81tbLL9JXc6ySgWwbB1wnNYHjWomxbvwF+Fjvm8m1S2RSVA== X-Received: by 2002:a05:620a:4726:b0:8cb:66dc:9fcd with SMTP id af79cd13be357-8cb8ca740a5mr760940485a.56.1771831676911; Sun, 22 Feb 2026 23:27:56 -0800 (PST) X-Received: by 2002:a05:620a:4726:b0:8cb:66dc:9fcd with SMTP id af79cd13be357-8cb8ca740a5mr760938185a.56.1771831676321; Sun, 22 Feb 2026 23:27:56 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:55 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:34 +0100 Subject: [PATCH 6/9] mfd: ezx-pcap: Drop memory allocation error message 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-6-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=769; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=r9x2dulUi2i/xHeDpXgX0ZLrT/131D7Fe/8Z5nmd+1c=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFrkKbfiaWJobMJ1uaOgm6ZHmwStj8BHlR2u vp1CSwCm1iJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBawAKCRDBN2bmhouD 1zVfD/oC4r95LjZ3DM+u2Ns+t8NFjd9MPKu16F32jeMboQjnWCR9YCLIRwn7Fvr1TR+ff5UtpyT XBgB2Rx8udmj/g956wfXJx/U4gpvw4kMozdxk98g5ROegzSW+zpfBmSdv/Y0RkSJY7v5JcH18E4 nWjB6GjTLB5VOxQQj3pioJknmyxmuwTELNXH+jJri9kT3Z41Bz+Klt2i8/wc91yhXb407gbpdfR 4DvWYkfuiKiF3C1e4MhjzEzlfuG9qQD3KIscOucgJL+YRlX3Ey7sED06o+WoJPNrPK0QfFXhHZv NOLX6kWeE53OeTAgE187NhmpJzoj7zvcDbaBI31ndIEGgthZWx7pORQJu6zkRlU71fOtYDaid9J FrKtxYHV0/sGCkFHormsZ+GOapWYEhWEJR50ScVUbd9ULC4ZlxUxCBTIWhz+Lkm9Gv5VXaFcLS+ 7OxY4GcIIWlXpspwcVNxWaSdqZ9JRVxzaRyzkcKW3kuNAn523XVBOUAuM9iCufA13SLXkpczN+Z ZZSw0XB5klJtECmOL/uR9A38T4ef5aU9LT4QNNVIEmKT6SgLS7zCvlvFse5bWOgrryLV9WAJGQ4 W5iU8ft6bo8owCRtIIzDxGrRgVlwrPd6TNb2HR4Nqzie8fw3AxXahDDaQMK6t5HaFml+MzTwWfh z7dV1TA37i7F3gA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=a6k9NESF c=1 sm=1 tr=0 ts=699c017d cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=3HoxRS3-ReI3PdwluWoA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX7QgYgXQmOQf3 jcv7v7TKmBwB/379aQhd6LYKYnGTEGEVLWx4JJZbqp2njcOfbyzU9dk/iI9/CzpdhHaSFhFyFsv kjFJlQ6L2GlSDX3RGD3YHSWMxUhie0/9Vlqvp573VGOFNxxaFvlGoh1Bz0Uy3fqPxAYJ/BlZ291 qUG6tD1/HzlKrIEc6j6pXKyOvht7aZAYC117ubRmOlA3YsM8t3pw+I7zoNG8Zg7eMXfTW2SLM+C kxV2Ed6kINBXHBBYeawY0Y5sV8K/9jH51qIjdo11swl53vy9qvcsO9yaSRjDBiIXuMq+Ns9dGc3 QpKmx4bQnZs+0+qtB3X64+GCsUvV/ng72QWf0Z6OFtHE9svzY8+W9xMvoxDi5/oAm2VTJcgQMS7 BzJWDM6GlIikxd2eOybHIh6Hqv9VpN12IrB2DkJeYncrnrfWSVr3/dp8Xu4hfCUSp5uePi/yYlw KxV/U3AlbKeBfp1JYQw== X-Proofpoint-ORIG-GUID: 7n0Ce2weWsG7hNTLQ1m0pmOiqwlFTZpw X-Proofpoint-GUID: 7n0Ce2weWsG7hNTLQ1m0pmOiqwlFTZpw 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 phishscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Drivers should not print error messages on memory allocation failures, because core already does it. Signed-off-by: Krzysztof Kozlowski --- Further patch depends on this one, thus it should not be picked separately. --- drivers/mfd/ezx-pcap.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index 1be4557b7bdd..13cb185638a9 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c @@ -416,7 +416,6 @@ static int ezx_pcap_probe(struct spi_device *spi) pcap->workqueue =3D create_singlethread_workqueue("pcapd"); if (!pcap->workqueue) { ret =3D -ENOMEM; - dev_err(&spi->dev, "can't create pcap thread\n"); goto ret; } =20 --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 5901034C9B7 for ; Mon, 23 Feb 2026 07:28:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831682; cv=none; b=BdfeWsLmDQ51WvB+oEBRUI+3awucTHviuo4PYHCeXsBWbH73WeOiWs0caYo0zIr7T5AXbksiYW1A4wpwcXL1nLnNSMoJnaIkSz/DYwrdZzsrv/Q2SqrCRkxpMDzoRYSXFv91L08JChcWkZCDonmV9Ue8/WaSyvOMwWK9QmehOjI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831682; c=relaxed/simple; bh=ESdCsaeIum29ouwuVQycaCeiYY4yOvrSCQxsV5yQYpU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FyvtUMr00Og7CxWnq286LJQfNr3CQ6nU8dSbPbhqcqOfSqCrbHVZdnjXoTHwHztzd7ZJhRZg0Fx5U59D2GK/otrBwZF5khx5Y/dTrJGLo/Pnf4uEK+JusYA2M3QlJvhNbiG+66v+UUNfMr6mKGcIezQUKL4tR0QaTOtvdtengEM= 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=imRR7dQa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=LYRKFnsd; arc=none smtp.client-ip=205.220.168.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="imRR7dQa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="LYRKFnsd" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MJvlQ72146284 for ; Mon, 23 Feb 2026 07:27:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EKvU/PNxjAddR2yAhFrCBL4lcj3bDh4g/P+pXxlhagQ=; b=imRR7dQaLra0EmG/ CLVgZzMTSjtFjvJGWsatrgZAxI4+8sXNgtBdn1m6ntzrKLeq9IoCDcJaD4E3psOG 6JiFR1sLUNsl4jhyyPcb2jMWdYLw+O8Gba1KrBolfaV1Mxvk3w136p/s1b+JzTPk AU5y09iTzyUYHqPbbUQ2ARe3wymQutpxvg8ec6ZSR6cIjR5XtsDFRnYwDPw4WWF6 5PwoXLBgw9oEHZYTw3BPH/V0UYAFGm340rZH25TN2XM+1m4fs5jNEDnrv4D7ISBZ D17OfkIqZG7l1taNVj1/E6iThifPdwIKFpB3KgEO4A53amQh1OXpdj2h1s2fNJMU fhRdHA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5wyurwe-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:27:59 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb3b0d938dso4386298085a.2 for ; Sun, 22 Feb 2026 23:27:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831678; x=1772436478; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EKvU/PNxjAddR2yAhFrCBL4lcj3bDh4g/P+pXxlhagQ=; b=LYRKFnsdtULbM4uu4LY4GvqTvXClGtGLsDWaiT7+Zn1nPFRF0pKUQF8o2xM+h4f6hj EgwR9R4NtTzvdGrNyA1iB5SAosELXguPfL6mMhCqRwjJhpT7+MdxH2x87q0pyjwhZihZ EHWduhnDwQMOFHVP3pzZEf5zKrf7OW53O8o5QD5VWrlcZWFHtSpvSzZCsTMlYwaZEFnu RbGR0cN3XNE6vDFUXjB5RYiB64tEqkJbv5QBh8ekF1+lhpWJy6+k6riXFYRJBTRsb9+E dW07sGEYyL5+meiYBuAN1jbgUapd69H9z1icDojJy+37H66w+s5c9SAdniDgP6Rnl2A9 Qtww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831678; x=1772436478; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EKvU/PNxjAddR2yAhFrCBL4lcj3bDh4g/P+pXxlhagQ=; b=sfH97C1xple//CxRuWfTCrxtnj0XjWhcB53/gaEOuSfw52SzhT2eArVoC5ENauab+t dmTB/nMn6g6fa1XYgGOvKKs7CunF9iXT4vDCX/2XOIhjpmsFuVgFXtvzCRvO12DnSblE XOuvJJfKpsGktwz1ivzJDovVgEKdWKzbt804vl3e4i8A0RKqA90ZaJ2YNzQSWHnQ+ogO KNL0KGrc0T9stNWg7W4qsrC+hqfmWQMY8GucVxQUbv44AmZu2NFa9JRi8sfZ3BxSiojt Axm6p97el65vcDJPLxVfpXsZN5RpJww5gao37oo92Bf5fQH9N2NUq2Q/7tWfQ2TFpt2H ZALA== X-Forwarded-Encrypted: i=1; AJvYcCXzYXqeoFBwNmeFkn5UWh8h3r/4q1Jz/C2wRTD3g3qkH242v5HRO3dlCRmk0Qi3zeYT7rhNuu07hZEGcnc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx+s87kzz2Wv10PAP7mDC78+0yZ21BlJfraYYmiOxP8m6tvZGA8 QQtMZcZrFFjdvteYkGXW1ry+FtpG5wB/XKSdzwKWtKnWUKA9ptJG21ZTh81NzwinxVTNsPmpm1q QIpuOw/XfbVbJTT4HFsGPHUrUZdHrP4wr8jbj65+idlY+AZWtdkVYClBtpEbYrofbj5c= X-Gm-Gg: AZuq6aJ1Os5SW8dIwtFKBKDHDwDKBBL+a94jWwdAzXAWlty32iY5X7/vpxrtUd6cPEH LHY3ndHiLCF3IXbOuHfooP688xZ+9lGfZYvoIFTcB3XZDPj6gY6d9F8l2RlgxG6/SvdfQQAZeOd IOKRUakNLtZeoVc5BEVbXeHX6PRzdgqtNgbQ7LlGMD/LE2FSIEhA7cWELUOLST6qY8qIdKf+u4g OqNIv2L2ggxA5adxKmlSAG2+9L8xWa4EBE3Mw4eWfqHYMeqT+71wo2BPv+mAWyGAzAF3+TwT+Ke pxQ5k5n+mjtZhNQqPwD2oUKQzxHGr/BjT1yW6r8NTP4+GtV2si1rrfZeII3WKlQemvdeOS4Vk1G IHozFBRYtK8ICJlNtxbCE/HIQDeUEIXsV7a7svhn3ZBvlmw== X-Received: by 2002:a05:620a:bc6:b0:8c2:3f3b:dae8 with SMTP id af79cd13be357-8cb8ca02729mr953888985a.24.1771831678601; Sun, 22 Feb 2026 23:27:58 -0800 (PST) X-Received: by 2002:a05:620a:bc6:b0:8c2:3f3b:dae8 with SMTP id af79cd13be357-8cb8ca02729mr953885685a.24.1771831678191; Sun, 22 Feb 2026 23:27:58 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:57 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:35 +0100 Subject: [PATCH 7/9] mfd: ezx-pcap: Return directly instead of empty gotos 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-7-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1584; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=ESdCsaeIum29ouwuVQycaCeiYY4yOvrSCQxsV5yQYpU=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFsdVOSZjLWU15fu6tXhkyH5o/JBZijmD+7F xJuktpOs16JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBbAAKCRDBN2bmhouD 11hqEACQeJWBcnOA0HqzOwEkeI7B9TgL3mN+MiZFvfd+qLHOhNAN5GPqKlAoYXkpu+ggDO0qWz9 oYB5wpEIyViQz6F7P1BbSk7JDPJNPXtSO8eCIPGH1pBauIFXYzYhV8mSvy5NBR7mEMYSKKu6Ki5 c2HHxYRYV34xSMpIrhaZh8QRVvQF+02ORACguJKiqALZysCqUV7Lssv6LmOneLzlHwOmppCNJ2o TB7ZxS4wPCl6edlbVzZrMMFQ1y+DfwdvIux3JU9oT1PriOQ+M1ocC9uh319Y9tCqJGVUBStU4+p SMFlYLPr0BTBAPNFFombh5ZS68gj4DqMJ6Unb/ZrUU/4jkXJNA681W6H59pOUOXo8QIziJ7gdHL yLif6Cex6xL/Ap+5oN2poWDdGsdcuj15yxkdz5lyJyRdBSslo4p7EGLMPzdeqY79LEwoqKafjAa vU3CpssLcVilmqPFQ3SZBwFW06aflTmZkGUbBUB/mUUo7I8VTS3SdhS635sblTp41z5mhW/xy0r vvKapnIZlD9rOw5Xxg19beyLy37OW1z/5cm0mAYucel1XB/13lDUq0v86dixoHMc1KA1qdQC67y qsmaAQwI4e7mlF47O+yr/jaCE6/Z8x6wiysP1jZxhoPdIGKyBILkDL/5cNMwz7/FT78JNlj7SK0 pLo5wqw2dA4WDpg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX4UtWLvu/Aaza GeMmeWSTRLwH9X34xseiaWA6imUwnB97rJkvQ9WjtI+D4STbLilj3Vtt9LGxxLdBXOScjPDQuIa H0czKDItoa8C9Vsr2oMA9tyC7iyCTSUUnGTSczaIXtGW3Boz9CyGzRLZqMjaYJyI/8zJtaiTEXx YLxUCFNtejSGM2CKYEMOPW969BHYDbDVdYuGB6A7ANLlm/c4R7XrVq2obcYAPREBvAPX0aIItr6 k6Us27zOVY7LGttA/a7LZWvRKQmjea5VyPz7NfezHQc9AUnHcQ28s6ls8OKyWTQCDt5gKBmxynA 3JiCuxX75mnEfssw+Uk1G3NbE4VsjsM1qg8x+tEu/13I7Bg6smNWFiSspigCOSjXbreAr/0bt1C QapZc21MjQ0rmMhY9fYWbt4ikf+KIj8gdS7XGu5ojDYHX7ekLXIKURW4SYVJFYIgV34yHOz4M6P s//9OvW4dj8PMEy3LIA== X-Authority-Analysis: v=2.4 cv=UO/Q3Sfy c=1 sm=1 tr=0 ts=699c017f cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=VGyNsPSQNFFz0_f43M8A:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: o-eLWrcmZs_hv_fAxn6D5PM_ol-1aVeM X-Proofpoint-ORIG-GUID: o-eLWrcmZs_hv_fAxn6D5PM_ol-1aVeM 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Code is easier to read if empty error paths simply return, instead of jumping to empty label doing only "return ret". Signed-off-by: Krzysztof Kozlowski --- drivers/mfd/ezx-pcap.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index 13cb185638a9..b929559d84ae 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c @@ -384,17 +384,15 @@ static int ezx_pcap_probe(struct spi_device *spi) struct pcap_platform_data *pdata =3D dev_get_platdata(&spi->dev); struct pcap_chip *pcap; int i, adc_irq; - int ret =3D -ENODEV; + int ret; =20 /* platform data is required */ if (!pdata) - goto ret; + return -ENODEV; =20 pcap =3D devm_kzalloc(&spi->dev, sizeof(*pcap), GFP_KERNEL); - if (!pcap) { - ret =3D -ENOMEM; - goto ret; - } + if (!pcap) + return -ENOMEM; =20 spin_lock_init(&pcap->io_lock); spin_lock_init(&pcap->adc_lock); @@ -407,17 +405,15 @@ static int ezx_pcap_probe(struct spi_device *spi) spi->mode =3D SPI_MODE_0 | (pdata->config & PCAP_CS_AH ? SPI_CS_HIGH : 0); ret =3D spi_setup(spi); if (ret) - goto ret; + return ret; =20 pcap->spi =3D spi; =20 /* setup irq */ pcap->irq_base =3D pdata->irq_base; pcap->workqueue =3D create_singlethread_workqueue("pcapd"); - if (!pcap->workqueue) { - ret =3D -ENOMEM; - goto ret; - } + if (!pcap->workqueue) + return -ENOMEM; =20 /* redirect interrupts to AP, except adcdone2 */ if (!(pdata->config & PCAP_SECOND_PORT)) --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 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 3B53C34BA42 for ; Mon, 23 Feb 2026 07:28:02 +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=1771831683; cv=none; b=g/BlwQJ3DShhuZohu4wmFLCX6zoAZhKI09psf3qsC0MOkkuxCjftjOiOqb0pZKICft4X9kyFjSKEOdEuSPzB42cabLO0Ol4ibhtouZpa0QeNtDEc8MCzU79wKQBC9diMC2caao0NddtcJhliD6MVyA/PweEr+a6G/0eRSFCuY3o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831683; c=relaxed/simple; bh=NdggOG5IZsY7LXa79Nq7AL/G3ae8FCgqBbMs7M+Uv2w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ezsplgPLrM4Flyf+p6dEaIVHX2uQfWD6UbpEstn294pUUUanxP568Btx4B6sPUDS2A3H2puqV2cfok87IE+cirVDHLRG+TR5w1h30MktYGXgmqxFm7N2l6aTJKODMM1GLAW90Kl3lS9lO6UxfONaxfwhw/wlZEodnDr5/UvITtY= 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=OR0kQOaV; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ckWu6GBv; 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="OR0kQOaV"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ckWu6GBv" 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 61MKam4p3337870 for ; Mon, 23 Feb 2026 07:28:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= EievHyEEfc+ZB9sgh0Kt3vK9ZMOHKaJHuHGtcF08CgI=; b=OR0kQOaV8mPN3yp4 O4ooXQ7AMGaHD/vk0t/uniHvc39ZF0bY6yiA6wRIgVnd2zwJmllKwH3nmURftTsR uRwNUWNzXJfjcBuSn89FBRiGhezEOAu8mK/OqUxVcj2jUvYHEK8Pe1WR8DZgAVgU v8fkhvAiCSOAsv07CTnGUpakv65K27hZ7OnJOGXCEYopS/QA3HFpnFTX3AK2dheg lEMRXRjPu3Q7GNK0ijrV9Nx6jFhWIWseomXEojpOGB/a6tiuk8J6YLbmzSw6wfLU gkL6XIel1ooBiXNQVu0rStqwPjcUZuBaEceEUqO1/gGjxd/hJlhc84MkaknPP7+K CiTQyA== 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 4cf5u8krxh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:28:01 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb4d191ef1so584088285a.0 for ; Sun, 22 Feb 2026 23:28:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831680; x=1772436480; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=EievHyEEfc+ZB9sgh0Kt3vK9ZMOHKaJHuHGtcF08CgI=; b=ckWu6GBvLF9hkSzylZXLg6mgAMXWTeA1FMSKn33ePF1MzzMX0dQZ+Fgx3Ntj1NLmqy RjkE2WMICIP0eCns8oGoywbqzZjXQryG1gU3qB/aOqeuD0kgG34Qy4Ym9PrmfWBZYzjr XWRfACYIVBZcIZwWttjUuXNwJSzU5axpxJdnDpemtev/zvY3hkEGRPnEgkik7SfMdqDq 7K6xQJUOdvXYQZoPg560fFEcHF57ZQq6cIvWQ2BvDB5yksP7EZiJN/fZVjgGKrBFMved /gjxnc7T8w5CFizsN5cmxBNrXOTYg2cu0rM02H0EhgH6cAlzWW59R06AJR215ErfZN4B idQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831680; x=1772436480; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=EievHyEEfc+ZB9sgh0Kt3vK9ZMOHKaJHuHGtcF08CgI=; b=bzuy+kkKtLrnXZs5EQ2FDqm6Ybl2KrPK6BTBncLIp7ZWEoiSWWpmMh0nKeTvSNE1jg /O/dAordGbpPTcm9uWftww8y4ij5tSVwT+kzj5aCdo64Sebu0MM+GOsPxMPV9K9v/wzs bePU8LjspzPdZnv896OK3UMF+RSuVVaXUpjOArS/50bIANGyiOc/9ocTq9MuxxeADzfz XK5C8LaBg27phijcwh9rz1YihM/Y2KPPRuelFde0RQJHAqImYkH4eMT63fRARhn6mVV7 FAWtuac3QOgurMXK+xXJHaEEaLXNxSvi0mSwesbrTf9FsbG6QGQqgLdrgqFaKEgcIU5g S2Yw== X-Forwarded-Encrypted: i=1; AJvYcCWy1glBCcbogQi4FyKkfESfB+wUWTXdUuUBUmCNrwzQtfWvd+uxPfKFsx7pKCryJEuatEC5MhQPSBsNZb0=@vger.kernel.org X-Gm-Message-State: AOJu0YzrGYnhYRiiFpgtJkQn3emekrp2Sl8oyLJyFiyrC/TBX4xwdixx CsG9HXIhxGo4/fQJuECjk8drl5EXsG0/gCAspRM/w6z19kFdIh5BLcjQPgyVMjsCTUz3aEV/Ymq biH3GD67K5kWKlF1yursiupDWaR1+4jUiGYV7qFGFObJ4Tml8u4qUXLszgVhHPLQPguk= X-Gm-Gg: AZuq6aLOW4uAMOsgJ6vgayhpubRyjqNwRjITYYCFlzETervefU0THwBgHt4jlrHTxB8 QHdwb0M93dYuTGKdHIf+0HBsBlANjOzzYv851HE8J4Ux9zgwi27VZ/7PzQgA3lOVKpMtm9FVXDb 9ZoNATDuJDNnrf3jLjcQP2IgWTUkAv0X4BidQS6TYVuCIgFYXxYOMDTtFdP9YHFSWxPeEfW9nEa Hyq+5Dyflnpr653kS/OEltXXqLmnK8IN68oNLny4VXZhD9jb7ObTv1iuJgBWv6kNlo0/JCk7UpB k7sOpIgz8wecFPYOHGBFkz3m0Ek/KZk0uTTrha2H6U+QLF1a1kNbnRKg410CW/S2HnFL3ia2YV/ NyUUh4tCZ0bavE3I5ryc7O6i7BK7AGejC0gWrngvRcdDDyA== X-Received: by 2002:a05:620a:4085:b0:8c6:ac29:70ff with SMTP id af79cd13be357-8cb8ca65e96mr953129785a.52.1771831680579; Sun, 22 Feb 2026 23:28:00 -0800 (PST) X-Received: by 2002:a05:620a:4085:b0:8c6:ac29:70ff with SMTP id af79cd13be357-8cb8ca65e96mr953126785a.52.1771831680071; Sun, 22 Feb 2026 23:28:00 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.27.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:27:59 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:36 +0100 Subject: [PATCH 8/9] mfd: ezx-pcap: Avoid rescheduling after destroying workqueue 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-8-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2013; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=NdggOG5IZsY7LXa79Nq7AL/G3ae8FCgqBbMs7M+Uv2w=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFtqPjY1qKyahTuUblrNnMhZfW/1VNWITp6i +IhXm5LfTeJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBbQAKCRDBN2bmhouD 15FIEACAA9XT78ap89BEm6isO1fI6/YX3bggCblWINXzvuzlJGfwB3B0VnAFlTD6+y1zI1shA7J Eiiyd/S8i/yKNwjPmqMBhZrjNVdSEs8HdfTN0rvmHhgNqSi8Yyoq1gFJ3HtKmnFyA0qHpsvUpq3 +VQQwHfPysAby0QYLjXKUwyRzOo41GW/vhM/sItWsdQRCPnEzG+O6ogAT4WiWGcX+Wmwk62STPC ief7WiwnKfWJXzieUqsRZVGqZd7mXQsNUrfcIBv0DINdyn0j8odj6D6xo4jgf49thmMDr5CAefC yG5p8y1WdKdh+hD1ddFb65TmYSFU9HO2AIzdLNTly7bNQ/GcQlQ97HomBZKTClUGuzTJhLmuv/2 mwB/7U4KZr9+/VWT+spMEVHe2wGqrOzEKaxbaEIvN8DqgrgFvl1x1qp5/O6Z8UODnFLukCFY707 gdcJRcK1CKnClIWcJ6w72wS1ItFXBTVBgstbzQ33MCr3IzqNDgTDQRi8lyJXourEeL8wOjXajGb qd6HYIqo1vKR5qtCH9fYdNXPAwCavd26qPmcpDaOH3omR1dHCo60MJi+A0c51ZTYkHNd02g77Zd 835Pl1A8pEm9U/0tyUb/tGHKgz/oaVXIm7/AZuCOdlDJdniUZ8/PBzIMWpPeXMeLh7flqzKBr0S 3fbO7I7VZezSo0A== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-GUID: ELum6iCIkkDlSb9jRlm7DK-RQmTj3ZiF X-Authority-Analysis: v=2.4 cv=cJftc1eN c=1 sm=1 tr=0 ts=699c0181 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=Iaj16dx_8Jk8doGcJVoA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: ELum6iCIkkDlSb9jRlm7DK-RQmTj3ZiF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX0pj+8rUfBve4 X7gV5SZ29nFnvBTR0YCts2YvpCsOMOBKWhDH48uhQoDr5vbTlXA8pEjpIISVVh1WdHp7YD7+FMP GACz0aAQBuCg4QPoX04Acu7NfaM0n90ME9hajtMjksoImE0mOk3Xa8LHO5JF5RMizlYSpnyhLWq Vgg90BhGLW2cdgFB5DDxMegYIXrm+Tath1gxQtZKcbsE5RHyG/DYlZJvZ5vN4H32Hgr+vgfZAcs 081NsbDU1Agpi1eNunz8hDtFwFJ9u7QXkqbEgj5xSgRFoThulv3BtEPEijUekKSgbwTKXmqyZGW Bg6kd4hAscr4z2Sej35yz89BZnoiBbYyZtCq+Ux4FLhT8o0sVqlRBjtVTp36Uy/dF7C2d8M6waL nkcFUtIeS47m9SewbCs0ypckjM+TvIgyIPC/T+BKEqRgc9ANj2it1PvvppkWqSCp42Ot2vWmZpt qqgFj97jStOVuGsLVfQ== 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_01,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-2602230064 Driver allocates workqueue and then registers additional interrupt handler with devm interface. This means that device removal will not use a reversed order, but first destroy workqueue and then, via devm release handlers, free the interrupt. The interrupt handler registered with devm does not directly use/schedule work items on the workqueue and the remove() function correctly removes other IRQs handlers, however the code mixing devm and non-devm interfaces is difficult to analyze and read. Make the code flow much more obvious by using devm interface for allocating the workqueue, so it will be freed with the rest of devm resources. Signed-off-by: Krzysztof Kozlowski --- Depends on devm_create_singlethread_workqueue() from earlier patches. --- drivers/mfd/ezx-pcap.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/mfd/ezx-pcap.c b/drivers/mfd/ezx-pcap.c index b929559d84ae..a06fc3447104 100644 --- a/drivers/mfd/ezx-pcap.c +++ b/drivers/mfd/ezx-pcap.c @@ -375,8 +375,6 @@ static void ezx_pcap_remove(struct spi_device *spi) /* cleanup irqchip */ for (i =3D pcap->irq_base; i < (pcap->irq_base + PCAP_NIRQS); i++) irq_set_chip_and_handler(i, NULL, NULL); - - destroy_workqueue(pcap->workqueue); } =20 static int ezx_pcap_probe(struct spi_device *spi) @@ -411,7 +409,7 @@ static int ezx_pcap_probe(struct spi_device *spi) =20 /* setup irq */ pcap->irq_base =3D pdata->irq_base; - pcap->workqueue =3D create_singlethread_workqueue("pcapd"); + pcap->workqueue =3D devm_create_singlethread_workqueue(&spi->dev, "pcapd"= ); if (!pcap->workqueue) return -ENOMEM; =20 @@ -463,9 +461,7 @@ static int ezx_pcap_probe(struct spi_device *spi) free_irqchip: for (i =3D pcap->irq_base; i < (pcap->irq_base + PCAP_NIRQS); i++) irq_set_chip_and_handler(i, NULL, NULL); -/* destroy_workqueue: */ - destroy_workqueue(pcap->workqueue); -ret: + return ret; } =20 --=20 2.51.0 From nobody Fri Apr 17 07:39:30 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 3785334BA49 for ; Mon, 23 Feb 2026 07:28:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831688; cv=none; b=LYBe/kB0vTgvDxHQ74Tlg3LGZAl4YMTGXr9hxZ6m/DrUU1UKxw1QOL2Ux/mBlE8ct2OyhPmuAoSecy/J2jtukIGWPlTgh4F9n13Z0NFCBAW60iuuzptE2KuiLtwskEyEwNKI5sLrGSCcUu0Gv6baEHU5H726N71NGJeH3paP4YQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771831688; c=relaxed/simple; bh=Tz7aCKZpxvE/URE9NHfPfJCIW6o+Wox+HN1jMO8zCgg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Qb74g32z3ziOLljKi6vB61Fidb3zQJh5Ylcw8jYFQFIHnVeuUfH2an7OTSxNyO2CykU8XHJqa2OEqKAnhBO/Aam1P2VQCwUu/cirKV2DHB4/s0iUPgBMqisdQSmIPwkk//YgD5jq0TqNihW4wneX4mc+9aXHYNVPbvlqUtx50lw= 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=bqdUhSGg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aWgRlwIk; arc=none smtp.client-ip=205.220.168.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="bqdUhSGg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aWgRlwIk" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61MKxhft2570444 for ; Mon, 23 Feb 2026 07:28:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= V13TbOnjuV6VzvANE56HZysaUseqHKiXk3Stv9fSSv0=; b=bqdUhSGg4fNXC5Tt lBynV7L5CjuSOXJESYwWx3vFyqDGDls7Zwtx7n9sISNSuMJzh7UN16lJ1w6hz4s5 2bThB4m0OzgpMqh7TiUxcmBjPWZOLk2wkaBSYBw5RNRm93k55D3BIgWqvIon0MIr ZbghUmGcXmjMY7v7Kc5oWG0gRwQRAJCmhK7yj8iTuw2EEiwBhm5GLL1E8ryEqvwp tJnt0AEfpr8xKWCvvxkvKVaIBiHl9KFAnKVTR+vOCizkWpraNxR7J5XHJNG3dOX9 mEG5mvwhpWDUHVP9s6z26/akucfbtWNRM1FpY2dp8NShJqDdJljAs+CiJj/M7ACH VitS8g== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cf5vgusnv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Feb 2026 07:28:03 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb4e37a796so3385690285a.2 for ; Sun, 22 Feb 2026 23:28:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771831682; x=1772436482; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=V13TbOnjuV6VzvANE56HZysaUseqHKiXk3Stv9fSSv0=; b=aWgRlwIkeetvYNGYEU+ReUUyQ5r6XdpIiGTbreZTCRZ7xbUrqAv/S+Uj7AQvI9odK3 nt2B3HDub7VowEq6Hns5cwJmJc9Pn4AV+6/ZyJi/AhaJSCXLsCaX9ghV0VNs8VV8HMhm MZIF1JXqsg9lHP0U+ACbfZYuGv9CxXrIii1Ijeb29gyqVfFwc6RdStEt/mX1+0wnlMQR gpC38sQSQ3slMVb2UhOLFzzGAE7/bHFX7HeJ30r30zwJC8X/qT2+jqPjxQbxfWlku/ZI zfxG0J3SVlU/YwWQdVvCeLMN9c+fWddABq54eGk2TuLz66JHGcfxCyFHmNFPqxoN+0JJ 3jLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771831682; x=1772436482; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=V13TbOnjuV6VzvANE56HZysaUseqHKiXk3Stv9fSSv0=; b=Gp/gbOEm4t6jXo7oBlaWYEXFtxlFkWn20BsTA8IlBoXmBOtt1MZf94mhbCbg2QIKL4 TS9ZS/JjT9/BXKQkMTSY14cGIkVSGo0lN4LQWcWpd2z1RQyF5qaG91Uqt+WZ09C1sOEa RYAhX8ZLNVWGjtxfEDSsbQaJ6Zm1tytZgYFeHyn4yLXgry2j5swEwnI5Cx7iUMPlanDn hutwZsRfbbjvQ9H7+T/d9f67m+BUGDZS/o38cu0ChHDZFqlMCJDW85cPoj4WplyZssw5 fUxCtsiqU6pNiebgQt5fEfIQjzzqafJ/jV0kJN0qkOxg3kVIkzyfls2edTByoYMyr3ZN Ba1A== X-Forwarded-Encrypted: i=1; AJvYcCVvw43zcT+sD6XHjsqz0cNcpc7+u70yOwd3Q2/CKTzWNSbr07jjEo+pNwatEv7ZsZa/vYR+J+YlIxOaxcE=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1gUGCYxNtQiXrU2swSy+XIurtcuWwDnPpVjWCHbN05Ud9+Jpm S4bd2Jn4tUz8y+iiCCkZ4fC4fXXVsmPO68uQ48WufOOjppuhi4U81iJbg96uJX9Zp6qXYDrjgv1 CtGVvaAx78Xpkjfh+imjZEP5K3jvhxqDgKlcNH4AghDgHuThuRDVHm+I6bQfhGX5EGG0= X-Gm-Gg: AZuq6aJrdSHJqiaTaY1A53MQ1Pp02380VhTqiSVyT4TcORiVfcmeXPxgtHf2P+IdUZ+ iaSRbTe9UxhVpnhOrLB13SlGnThF/THHMPPFw41c3hhYe0xvSgUs5RyeTokz9dlO7ft6mN0IsR9 R1A3rRu937xm6SXDJG4xzoZu/f9vSbvwEmKhnUu3iVOom1m1UT3mHRrzBKI4FlenjbFyZr10lvl +dtowHn1V18V/hNn/NYTu44G1cEJXPJG4B1cAPDmOZn2DP0oQiF+n9Wp9CWTq+yq7sMLYm42CxX dqhVfFw6OapO88BBhzpQrDQ0uw6mxGTod8EB7tkOhWut2MAilb4RGYhgNnQanX3IiC8MwbTG+v3 6YlHMCFNjenIpxclEQHS0v+FwXO/GYMMRVjaOD5A4ZBuSXA== X-Received: by 2002:a05:620a:414d:b0:8ca:3c67:8914 with SMTP id af79cd13be357-8cb8ca92dbdmr1030171185a.72.1771831682492; Sun, 22 Feb 2026 23:28:02 -0800 (PST) X-Received: by 2002:a05:620a:414d:b0:8ca:3c67:8914 with SMTP id af79cd13be357-8cb8ca92dbdmr1030168285a.72.1771831682019; Sun, 22 Feb 2026 23:28:02 -0800 (PST) Received: from [127.0.1.1] ([178.197.223.140]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43970bf9ff5sm18550286f8f.4.2026.02.22.23.28.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Feb 2026 23:28:01 -0800 (PST) From: Krzysztof Kozlowski Date: Mon, 23 Feb 2026 08:27:37 +0100 Subject: [PATCH 9/9] platform/chrome: cros_usbpd_logger: Simplify with devm 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: quoted-printable Message-Id: <20260223-workqueue-devm-v1-9-10b3a6087586@oss.qualcomm.com> References: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> In-Reply-To: <20260223-workqueue-devm-v1-0-10b3a6087586@oss.qualcomm.com> To: Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Jonathan Corbet , Shuah Khan , Tejun Heo , Lai Jiangshan , Tobias Schrammm , Sebastian Reichel , Andy Shevchenko , Dan Carpenter , Krzysztof Kozlowski , Lee Jones , Dzmitry Sankouski , Matthias Brugger , AngeloGioacchino Del Regno , Benson Leung , Tzung-Bi Shih Cc: driver-core@lists.linux.dev, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel , linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, chrome-platform@lists.linux.dev, Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2369; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=Tz7aCKZpxvE/URE9NHfPfJCIW6o+Wox+HN1jMO8zCgg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpnAFu3KNp+CTKSy+V7k67mEChB+6tEknfgjT/Q 0+9orefkKyJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaZwBbgAKCRDBN2bmhouD 1wuWD/9J+JqARU6TsvU4zvVDheM7Vy4GbVVCDxKaqTn1LB64+jTh7G+qQDyEO+/8tfwnovEz32a dZfCA3g8kmt9XMucw0VfKlsZIX+GwOFNPaCzVAIUDxeJAZLU7RU0qIm5Sr9Tfvg2BRzyeDraYlT J7liSpFkaTD39Xe9e+ncf8BMH+iTwVSEDGmzCDAoM8binwflLgSFhX8+1BAAD+6dGF7I8S5Jd9F f+Yfs6XweClFjvk/QYcBtkxFZgTpt1p4s/Ksnk40iJqDUWV9nT7P4LCPGIedS+T3FPn0QWCatUy WQrnAzUWqundJe80uxqAF47q1sVAqylM2iuodrq7bUXWaR8M1DHKMOsQK60jEyt+n0BrWTqTC4X 0OvX08AJfnLsjhGl7MXfKjH+t/A+dPPQeqxzDF//csXt0QJqWoJNq9HCMfDdAkCxvlSeo4H9Z+z cYCbIcdRo8JQNn5a6H/48X2v7YhZV8tkKw2OTs2JmW54h38R8qRm/EVPRfMRk0VxUtTcZIuj/Vm qUIhXscFFPVRJCkWfps7q1UEqNoWwk6x+NdWrH7EYppRe0NRgJ7xIAgldkle635fxHyB2C0sUgo yylFHJPeufQjL0tRBOlpP0gjwNExCI+B70e1ZlGbs4mOM7RJCdTfEZLGq4326lxqaEVTZZ5aRHq kW1pfV1AjFgY8vg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjIzMDA2NCBTYWx0ZWRfX2bFhd+9I+mR1 JSdhDLpSHGdc0rE6VNbmY7ADN+OR/92/pDyDvAZjPaM8BS+FyBHTw1bc6kudJduher2YnKPoUF1 vLW4PtIq2JqZb0y2bSCWG6heFriPe1BLCfrIk6exmdJI2CVMAJJd2rpvCWDfszo6Mw6F5eRTWSg UTMHr6zi6vpCDqFkzt4xLzOu/qsQkB5xHDMj7JH23xt2dTPiUTvYZeohplm8q4z2L17jCPo3kvm tGSMhUH+av4Pc4RUTWfiRKFt8a0HMZ9BGQbh5pC677lFee/0WqmancbYoK+ylg99l5bZ/ywcBBZ LgAPHyThgdczz68bxVOKzZVHD1KMrHjhpT43EmQu1+aWkNMqLlE7YBG/S/V4xgmKqja6DDyAIEx tdrgjf42Gp6PkbdlzlgY5TsOezlNZkLVTTay2Ay3U/6sffDusTpdo3WlA+qWWjhkLJw90cBHBsg LM68Frd4W6W/ikOWOMA== X-Authority-Analysis: v=2.4 cv=W+A1lBWk c=1 sm=1 tr=0 ts=699c0183 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=6nO30s3o7FuWeffXwhKHTA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=fg_Lw6XCFRazdZfdaoQA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-GUID: wZ2zKlZoDAnE7YKCTaXT3Xc144zlCCBg X-Proofpoint-ORIG-GUID: wZ2zKlZoDAnE7YKCTaXT3Xc144zlCCBg 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_01,2026-02-20_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602230064 Simplify the driver by using devm interfaces, which allow to drop probe() error paths and the remove() callback. Signed-off-by: Krzysztof Kozlowski --- drivers/platform/chrome/cros_usbpd_logger.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/platform/chrome/cros_usbpd_logger.c b/drivers/platform= /chrome/cros_usbpd_logger.c index 7ce75e2e039e..b0d176c0f4cc 100644 --- a/drivers/platform/chrome/cros_usbpd_logger.c +++ b/drivers/platform/chrome/cros_usbpd_logger.c @@ -5,6 +5,7 @@ * Copyright 2018 Google LLC. */ =20 +#include #include #include #include @@ -199,6 +200,7 @@ static int cros_usbpd_logger_probe(struct platform_devi= ce *pd) struct cros_ec_dev *ec_dev =3D dev_get_drvdata(pd->dev.parent); struct device *dev =3D &pd->dev; struct logger_data *logger; + int ret; =20 logger =3D devm_kzalloc(dev, sizeof(*logger), GFP_KERNEL); if (!logger) @@ -210,25 +212,20 @@ static int cros_usbpd_logger_probe(struct platform_de= vice *pd) platform_set_drvdata(pd, logger); =20 /* Retrieve PD event logs periodically */ - INIT_DELAYED_WORK(&logger->log_work, cros_usbpd_log_check); - logger->log_workqueue =3D create_singlethread_workqueue("cros_usbpd_log"); + logger->log_workqueue =3D devm_create_singlethread_workqueue(dev, "cros_u= sbpd_log"); if (!logger->log_workqueue) return -ENOMEM; =20 + ret =3D devm_delayed_work_autocancel(dev, &logger->log_work, cros_usbpd_l= og_check); + if (ret) + return ret; + queue_delayed_work(logger->log_workqueue, &logger->log_work, CROS_USBPD_LOG_UPDATE_DELAY); =20 return 0; } =20 -static void cros_usbpd_logger_remove(struct platform_device *pd) -{ - struct logger_data *logger =3D platform_get_drvdata(pd); - - cancel_delayed_work_sync(&logger->log_work); - destroy_workqueue(logger->log_workqueue); -} - static int __maybe_unused cros_usbpd_logger_resume(struct device *dev) { struct logger_data *logger =3D dev_get_drvdata(dev); @@ -263,7 +260,6 @@ static struct platform_driver cros_usbpd_logger_driver = =3D { .pm =3D &cros_usbpd_logger_pm_ops, }, .probe =3D cros_usbpd_logger_probe, - .remove =3D cros_usbpd_logger_remove, .id_table =3D cros_usbpd_logger_id, }; =20 --=20 2.51.0