From nobody Thu Apr 9 20:25:14 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 5040A33987E for ; Thu, 5 Mar 2026 21:46:18 +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=1772747180; cv=none; b=V2/BOTV9SMuRrX+/rrlrHt+eDep83N0ETAhWtOKcGvBsjSzWZUOqywvVhZPyTI4ek+upzCvxNH5Lcj85aL0ZfrBmFN72zH9DrHlY5oj1JowRPARc1KK3qWA9FtSeD1NQLxHLjH3hZBnEi69eTv7VL3mFpnLG27ObxH33cgA22dM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747180; c=relaxed/simple; bh=iyX0qmfaG81Rj41H7X2QPhit2JQzbYOp/KdP09pUD9I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cJqbOA9r1hhNJRwJje4namTGjl/bcwwRMdFNePL31KPwEr1Sxuj0iphM6SGPABgbtlhKJVkJUFxQrkqW+n2rjrQKqp0iEpOapjlqc8OLJVXcleRMKfvKokrx0un7mNQTZCQ4mx5EbrCRGbg1M1VRMen190F2/0GQAjB23OJGYAY= 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=nNchSM+9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XE8n7s4i; 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="nNchSM+9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XE8n7s4i" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625Knlt13141211 for ; Thu, 5 Mar 2026 21:46:17 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= w6k8+DCPmvVS0VzBd1DlzrWskZqznfWtGoXnFeE7JRQ=; b=nNchSM+9zrXqc//l I9qvK5eJ8PrIe7ZtPyZPSreumwlr6NNn12k4VvWKWATdQJ4gO08lvE92ccQotyKu /4GTyvQeyB6iFe2Kwb5j+IkAo93aq/k5Puobc1IH9/BIPzqkh0sT9EpwSc26y6It 3cl+xfxtYfsfXnFo/SdQNO5bsRVzEyGXMElogOpQo4IAjqmKqrx4IY/ZjUrqC2K2 xnpBmMq48g6kdDpE1HfWyqI6JH9/w94Qyd3cRgjJs5qfQL5+UwlOY2qIZQ4kh26O V33uBXs1pbuT5oDwZuk91ZQ2XXwxR/cvm0GcZNXP9bpB06v/cLCwKZBYsGsw5mut cDvlsw== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cq1pk3hvh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:17 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-899bef1ea49so380130276d6.1 for ; Thu, 05 Mar 2026 13:46:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747177; x=1773351977; 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=w6k8+DCPmvVS0VzBd1DlzrWskZqznfWtGoXnFeE7JRQ=; b=XE8n7s4iC4gB37HqsZDo3523SXgMArVsUrvUpkENuaOitYynePFWDAkRxrLIsonUPx WEP5k3vYLYBK9sRR6lnhKZtJeJzaQ9/W8oY6gXmSQXdVN9S4WrcBxn6uV/P6eQow/Y+U eb1FOa+4HmkOOjfsepgg6q2EWvi2NmzLZZSfLLSkucrgi1tRkH2EoweRIkSqodTyyuBA NoNJgvL+LSX60mLNaiDKx6PNdfJ0g9P7ddLw+1Loi7gsz5dh2ZcF8bFhzSUcFOnPFold f2n6VfIM2GMz8Y+dg0MApN5WHLQ4pZyficw3QzAhJeHpQvZ8q1XuVN9ku0o+CMMssYcS vt6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747177; x=1773351977; 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=w6k8+DCPmvVS0VzBd1DlzrWskZqznfWtGoXnFeE7JRQ=; b=w7uZVceqY1idoC19vBCtB//OZTtShVNfz4XrwrDBCHqYoc/jMrc/szh+6XtMcQOySV qsXmyTOB7A0M61WABplkwzm6wpH6Eh/gbRNCJi55N86cuXDokh4m8QpLykRCmjXpSWjv joeNzdfXuYCYmVKL6sA+CFcxh5GjCVk67H5Wec/IGYkLqmEs8klfWzinmOIiBry6NLTR hkQeRaW6HiN6Z0e1B0+rQK0rCq/hf+Be75BkRFPUkSDu4zybHjQOGdWLSTqWefMpg1q2 dYYIr3tP5aK1fGJQK+84BZY03IY/YttffqMwYu9n/uMVV34k5jAh19jMDwoj1agZZd99 cu7g== X-Forwarded-Encrypted: i=1; AJvYcCWfp1VjLI6ynXkI0tWkaQa2sgoPHNwOtcW+vAjCA5yyRTExFxtrFLxsbPSDRSH82GbCHrZkrWc1e8u7cAM=@vger.kernel.org X-Gm-Message-State: AOJu0Yxq2/kYJaILVGlReB4qkYQLRLa/lfKPEZvMbttxe45z++/QoWrU 4bv8z+gc2/MBq/gr+BMSeBEH96LW1KNuBraDpQ3hMF70iHD56G35wmOr1S/Zf9meXMPt+R7sixS X6M0o3viPxzhvcOK0DRZyzY+BGRk+1OEF1UNcwAkJ7UFdhYJzue32jJLY61u6WxFVHIA= X-Gm-Gg: ATEYQzx2kGwVS+TPjt63VBPQmKa4REF2RBsTSqo3l0NO+lT8uuc3EsUamw3bRs1Jlmh yTBfrXtbqn6tjiKXb2X2mOP90pS62pYniE2d4e43aPx/bh4kqz2d4teM7xhzHQefC7s2hrmrOEr sPZSqKmtyoBv0HwBi2XU9ic4Yvxiq25EpIZFh3RLrNB4gefuHzaOkXtI4ceWAuUDMOC47Y0Jipf 09Mwkd0pQD56eB0afsklfUBY9dv4fyonTTsTnsrRsa4gECfVyhpLpWkxEpVuHLUz7Qm5S0W3YQx c3YHseAFnR6Cj9hrjBJmEG9sjVZc3CBdY5MQ3iHTaYfKYVWxKZt0bPhbZ41AQtuv7b9l/uTpIsw GdH6kH3qKHmvy2o3gIi9snCsm2g7YN8iuPW4yLhIo6WxN X-Received: by 2002:a05:620a:4688:b0:8ca:d5cb:6839 with SMTP id af79cd13be357-8cd6d4eb0b2mr853685a.65.1772747176630; Thu, 05 Mar 2026 13:46:16 -0800 (PST) X-Received: by 2002:a05:620a:4688:b0:8ca:d5cb:6839 with SMTP id af79cd13be357-8cd6d4eb0b2mr849485a.65.1772747176172; Thu, 05 Mar 2026 13:46:16 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:15 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:40 +0100 Subject: [PATCH v2 01/10] 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: <20260305-workqueue-devm-v2-1-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=5216; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=iyX0qmfaG81Rj41H7X2QPhit2JQzbYOp/KdP09pUD9I=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmZqlqPt/O4g+aJVCPVwYCdNiMJivVoKJNv+ nfTlOEuLkCJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5mQAKCRDBN2bmhouD 12BuEACE9UGRO8qQNKFX1PzUCZ/Fq7vepWE4JCBJk0nfeFyl0KogKdTFRFTSJsUiy3dJS0tzFJW 7WNmnOlxd7SbvQyXqVrx+RdQC5wbgOlI+Sol+ecKeyExdYtDYLCU6Owm28wDGtgEkTE9mJfiM9o mUyXPEsHEcoqBmimZTT+FwLmUGknfHEglow4Am76QGjLX7IsZ3LhKVzM7Rj5iFP939x9p3Fk11w b+DQjHaOHIrzD9Wa5iyoaD5SyIhn2ixaHFTdqx+km8ivIAkp2A0vJTGfQAcmeqXOmlcJSzg3fSv yBMQ5Xz30FMatrz/Zrj9+z3clMPhYokj8lrGHYK0+YKKKrfu6VJaN9XKe9p1JJpWLxQ7M1cWPyt rMMSWtOdvNnAqcUcfCchdEQeCIz4WkpMrfcQv/qQcaLUAyED27AZRfrVc+YMK0f3FZz8q4bzJMk hqqq995Ee3ptNIv/y1mnunKPueHyuf8L7BiWhF6YA7c4fth+txTnuvKup5geymqojDZqRmq2WK7 H7jl8/lUbJeUYr4tXJpgcnKQOwns3MJFViLP5yUd38U6Wq0fz/CcCbhh5hF4ga3EPuYgPZjILVl fkIsr48Wel9gwyvGlG14kKHUQ4hQe95Gr7l3enhfn4+YMk73kivz3PW3tYXfn3xR7L4J5bS1n+d uBhhIvG9s2KLDyA== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: Kk9AM4-RIG6AHtvpqiK2wsB6Of03JMxq X-Authority-Analysis: v=2.4 cv=Gu9PO01C c=1 sm=1 tr=0 ts=69a9f9a9 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=7xz5_SZBKAcHatMQKAYA:9 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-GUID: Kk9AM4-RIG6AHtvpqiK2wsB6Of03JMxq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX+kaTj0zR/Mta xPBCSJrjJj9RaR4prV9CwIcILjKkSsNKblf50ShLonDpQ17JAxAbyw7DYiY3X1t6Fkucvxyvz3P gV3ukClYSIRNj5hlOboTK1juTEN1l7HTrG0OjTxK3fiqbx5ebmhdzwgrzVVLBR19KRjN91Z2BiJ DrAAz2e7sMGK1DiBkMVyWZ4hQ6Nz8+5J4dffAHJnXU2LmkiI//L9odVbPZVVR7D8WUay6DOw/dR ztrdmKNzgXE+JMsAq2fPXY6sV3zaeUS6B3dnswIJx5hlHN0NjDzdbYiN41og8H4Xbpjn5HQm1VD 1NDgMtV15zQu2MgU9EaDgDryjm8qCjcHxEnUPPR1/m2RBBtibu0r7fdc2I2xnc+1HSnj6PTM71G 8y/Vyuq6AbmmL9rPNo8ZYv1I+FlvubG36wzI54ZlzlD/xtsdnWeNK5Yro2UpAggQ3bMGrFN7yeY /UFK5Y04Dc5kgku3Uyg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 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 Acked-by: Tejun Heo Reviewed-by: Andy Shevchenko --- All further patches depend on this one. Changes in v2: 1. Drop devm_create_workqueue(), devm_create_freezable_workqueue() and devm_create_singlethread_workqueue() 2. Simplify with devm_add_action_or_reset() 3. Do not export devm_destroy_workqueue() 4. I did not move the declarations to devm-helpers.h because consensus was not reached and I think it would not be accurate place. The main alloc_workqueue() is here, so should be the devm- interface. --- Documentation/driver-api/driver-model/devres.rst | 4 ++++ include/linux/workqueue.h | 22 +++++++++++++++++++ kernel/workqueue.c | 28 ++++++++++++++++++++= ++++ 3 files changed, 54 insertions(+) diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentati= on/driver-api/driver-model/devres.rst index 7d2b897d66fa..017fb155a5bc 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -464,3 +464,7 @@ SPI =20 WATCHDOG devm_watchdog_register_device() + +WORKQUEUE + devm_alloc_workqueue() + devm_alloc_ordered_workqueue() diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index fc5744402a66..66a94c171b0b 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,6 +588,8 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned i= nt 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)) diff --git a/kernel/workqueue.c b/kernel/workqueue.c index a1bfabeaef41..5cc5e6a400c9 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -5909,6 +5910,33 @@ struct workqueue_struct *alloc_workqueue_noprof(cons= t char *fmt, } EXPORT_SYMBOL_GPL(alloc_workqueue_noprof); =20 +static void devm_workqueue_release(void *res) +{ + destroy_workqueue(res); +} + +__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 *wq; + va_list args; + int ret; + + va_start(args, max_active); + wq =3D alloc_workqueue(fmt, flags, max_active, args); + va_end(args); + if (!wq) + return NULL; + + ret =3D devm_add_action_or_reset(dev, devm_workqueue_release, wq); + if (ret) + return NULL; + + return wq; +} +EXPORT_SYMBOL_GPL(devm_alloc_workqueue); + #ifdef CONFIG_LOCKDEP __printf(1, 5) struct workqueue_struct * --=20 2.51.0 From nobody Thu Apr 9 20:25:14 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 DCE5D35E93F for ; Thu, 5 Mar 2026 21:46:20 +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=1772747182; cv=none; b=pVVOt6enhO3SESf7Dz7qd/E9YoolN9u2yTAbDEBSlwI9EejhS3p/W/vhoVWbouP3g4MG6gwscPBYKOcDhjwiwlk8mDXY62fbga4IrjrssOasSTyJvo/nYkH2F5uCoObl9OUdKjF9eoXMooSSuR5n4C/gGJlOmvxa5UTq0ElbAKA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747182; c=relaxed/simple; bh=7qKBwP4RT8UWSNgGCGoui9ZGSKnXjO7Z7xGXOQ+rwgg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QAYgLmL9L61hE8uzghclCxOfyMRX6iXtAv8ex0j/CYSv689TMwCJMlf4rmUJ7WE+Zi8Aqld83Nqc97LkBTNwgDtP77MFiF6/oSh2sHukpIZhmbA+1F/7BbLciG6lPDFtfEUWQpbiciROg8aq1nwUhZgKLAwEDNCc47LzT6w8RKg= 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=Dbao4P+U; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hXdQgguf; 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="Dbao4P+U"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hXdQgguf" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625KmW0Q1489039 for ; Thu, 5 Mar 2026 21:46:20 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= MlyEHA9gSBE4x00iU9vPwkk0UY8GbFcxWCKm5P/2jnU=; b=Dbao4P+UefkUl3rm ohOcd3z6FUH8e63d6S1tWZznd+NcnMa+/fe7JovY0KiK85uxX6sJqUHevc5uqS12 xrJXjHZktFtvwh5IUBQztxzmZkXaFHD8uo7uTEKLpxQ3h8R6f3Dju0TNr9H1w3N5 xEag2YOMrW2WyH8euzmseUeGEjG2U+2M4HPYaVlRhcfqcSwYFNPtOmAFZa73R4IR 0wQSuVyrW5XByJxUcTi2hxzq2x03dnPFKoNJETHlc3aUtQqRE/HCYtKE2MLHhEgm wcr/waY0O7iN5L4AikuVHY5OqtJmqILXkZIHTfoaJyHrIpvaeO96J4WSW5CqHf98 sOwxNQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cq84wa3xu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:19 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb6291d95aso1095425485a.1 for ; Thu, 05 Mar 2026 13:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747179; x=1773351979; 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=MlyEHA9gSBE4x00iU9vPwkk0UY8GbFcxWCKm5P/2jnU=; b=hXdQggufXdbdnYZF83wez8cTKYxnibSu28bUMgg5US5eCQ1KSoM+LDw38+xUIGpyr4 E88T6y9Wea37jNs5Lz5wlY4Xz9td/BCvk9Yoi2dt4xWhsNIK3mJhbC6RilOT8Oz8XJ0m W0tuFSDsSG93sd+sXdixYHJfXmuAObsGk/18sKVj4OxAyTDj9ZltboqunDhCQMdRDkaA 0ilPHg3Ajaea/lGl2VwYuQpf6KGJJkBayeq/u8FtpvE3LzInAE8TzAr3huH0tgUTg0bB kHPYCirnXrt1HmXWQUTAgSyf03EuLJhAKdX/CSk1mXCouyImH8cCVERw7691TfX8zEZ6 1YiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747179; x=1773351979; 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=MlyEHA9gSBE4x00iU9vPwkk0UY8GbFcxWCKm5P/2jnU=; b=CszFQ0wfd6RN6SCmp3DiCxqmIPXXPbN0anuxFtK6hMBdGWf+pgVjdWN2R/4bNKCrOf 7Gu5qzJa/+Wi2wY7saBA8MhF4AVeV7wmWJ2h1Xv7YR0v5PZGw6/a/+1s6wrspmrQxTgZ CK2Xt+Yf1uUP8c8e8ybE8gzlKiPMUChO/vjWeeKpe/93ajbb3OjP4gM50M+N3u4/fZeM ZAOSdkOlJuQ4o0YbKVcxS+Ph5m2VdGZspqTGX8ma8yU68GI4Oeh9jDlmo3ki4Otcy7/Z UrmrGS2Va3Ghu+BFjHyb7MB/rWy55rOhbPv0W6rdF0pkwhaWxRa0R3M3gx8w2bcQTh3N c1gQ== X-Forwarded-Encrypted: i=1; AJvYcCV6AvuDS+tv/FjeMLjq5A0WGb7ACpNN9Xohm34Ue6Z5bk84Q+NV2NkvR++GAXjK+Yt8LDbHNIA/k9lpOUA=@vger.kernel.org X-Gm-Message-State: AOJu0YzlGOKBfk3DO0QYDiKod5T+08AHMEttkAYWhnBysyIvjgNiAtHb awzx6i5NVoy8njpSVOHPdSYuutFm4pvwuX7y67KTF+DpcFyjyJQxsMVoyn5IZKn3qGNohPRk2nI vmL7GJaXuWmIV34enG+UBjVmuSTiOAOJYrOYLvltFBxsnx9fOspzBxiTZjdk23V/ZjdA= X-Gm-Gg: ATEYQzznLpg/YmfBm67CHYSuV2wOdHLHyypwY8CH5BmHjYK9uPzrH5qvjQ0iDbYa/pn m3i5d0dJQPH1dVK85OmQ4IzWgdFX6Zz0mcvWpjdZQ60NsWK8MAdO8nYY3USyJCGa+AwI2xlcQMQ q6UzoDWenz48H4upVRZfHyHilSF0CEhl/nbOZuQgIDD2J0KtmL9Ca3Tvpd74blin6cleGCiOkpz v3K2YgcNekKSrhOOuVuKi3I+xL8WgUKWpeNvr3kDXfrhkT5uWhguPicMh1Vsts0nPg0al90vWqU 38HDEiNGqW73gWn9WvVyCNpAd91oQQP3KDYgZu6DPHgnkx1UYYvimGBXWwBMLT2Tzb4CprvJXvW F9vUUOI0bafez0uYwUP4n8y+X4UoyHJZUpTTmgQQxNKos X-Received: by 2002:a05:620a:44d1:b0:8c7:1156:efeb with SMTP id af79cd13be357-8cd6d431747mr3989285a.24.1772747179242; Thu, 05 Mar 2026 13:46:19 -0800 (PST) X-Received: by 2002:a05:620a:44d1:b0:8c7:1156:efeb with SMTP id af79cd13be357-8cd6d431747mr3984285a.24.1772747178665; Thu, 05 Mar 2026 13:46:18 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:17 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:41 +0100 Subject: [PATCH v2 02/10] 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: <20260305-workqueue-devm-v2-2-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=1414; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=7qKBwP4RT8UWSNgGCGoui9ZGSKnXjO7Z7xGXOQ+rwgg=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmaTscz30XpaIVrSvMJ9NmAZXBjaoCJD1Qtu MsSty3dB5+JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5mgAKCRDBN2bmhouD 15pAD/4uItAh0+Y/646A3SxgJMd3qGhnE6oah8kL+B+QDXVcgNkJZNqpTsWPqg1ukrpJ0ToFsQR RNiOC1FeiFP5X7vtMQJ3v4EOLkUXa0zCrnD+c1aO1FcMnG0Y7gZH+ugMGwOuPFct+bs88d/v49S ybptu2xzXKXKBEfAo84Y7OumSKn/LvtJUAk8kBIb8KDuEMZl4r2havJm78odbmy/l7+v9D6T5sH DPzVfzNJDdZxNGOQ6OcHWvqDGeNOCv54whjFfsAOEtdgR/5SPJoA4pUbUCWh3RsOMBNnP5h6hSF njKtVt2sOP9g2NsX7XKxyDgmUGmg0rLdisILsDZYnguu90Woj+1e4/S3JdqSgdurRvABYmrgiuq XQwY8Q6YuGYiMzqX+g5ZvpNN3/9o6ZI7SwqCKrkFeZ7AQaDocx911KL+I/1QlDyP+84NFDreBkM 2Gj2nSEHDsqtUaRbvrwIAp1Vg4pE9vJrx9fVg6xi/PRznBpoB2kcPOd7BtrCcmYzdMrB/nhq9sC tYQqUety3kdK+MSAl70WKyZ7gGpo7fPGOTKz8HXxVEeHiGr+iBOg/MEgylptG4P56NqHhcXWMBs xZ0iALks8NvYwqQkLYn2+xyFH3k3z7qEemupGFvVcDLHVbAD/zRk6XrL0Pp2cZXlzqwyenzorOv 8p1FNzzDKoAJdpg== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: YEFxoQnwZvZhkJbyGw8KwV3E313aoVyp X-Proofpoint-GUID: YEFxoQnwZvZhkJbyGw8KwV3E313aoVyp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX8qtad5cv0UYk VqKhngmd5NJC1vHkQJNLEaUkEGP+dkrdYrn/xFnTTIGXbXqP/Yn9FZkxv3/2s8id2cN4I1yBQRY doQSezwIss/Wy+8lzYbgR4ky6mHcIhGspc++i4nwrNBy7hgQa/HleTQEOR/IeDpsBufBYcoP926 iTs0SinioplCI40gb5h0D7fNMlMgR58qyGN5+NVoDHoxxQn+7R2fBXH/RDs9bBbpnEsiu+nvJNE 0yyqJKSyF5u5roDAcvvH9r4LBs/uYtPi1ksiI7mkNgyad4viQmPU1QanYeV2M1VuxHAAnQe6hzV vQIK0vFcIkcCRzsPTXZJOzs5cRQzQigGL1mWUKruPqGYYasxJ3UUuc2YRB1JZQxkZEt3AJNE8s2 A3O4qjZgvp1PEd/1WSH9HoprDBILAioSf90hgM+s9ot947Qc7fxNZ8ksShRWFMxdT5FM5WrSOVu Z6cL1OziBlQ5s94rgHQ== X-Authority-Analysis: v=2.4 cv=N64k1m9B c=1 sm=1 tr=0 ts=69a9f9ab cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=zwXKoDzk-DkgMqbABcEA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Use devm interface so allocated workqueue will be freed during device removal and error paths, thus fixing a memory leak. Change is not equivalent in the workqueue itself: use non-legacy API which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is used to read updated data from the battery, thus there is no point to run it for memory reclaim. Cc: Fixes: b4c7715c10c1 ("power: supply: add CellWise cw2015 fuel gauge driver") Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- Depends on devm_xxx() from earlier patches. Changes in v2: 1. Use devm_alloc_ordered_workqueue(), mention this in commit msg --- 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..286524d2318c 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_alloc_ordered_workqueue(&client->dev, + "rk_battery", 0); if (!cw_bat->battery_workqueue) return -ENOMEM; =20 --=20 2.51.0 From nobody Thu Apr 9 20:25:14 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 34CB530B514 for ; Thu, 5 Mar 2026 21:46:23 +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=1772747186; cv=none; b=JBhfiDUayyxMzO9h67m5YBqi5AgR57vKKaHDfM1ET9c3rg6EZCEzKh81R28eZMb6+NlblN/oDN6Xbg2PCOpADG9NUdetwa+ccUky8h2K8NyOBR3uumUiTD2FnmCYf23AFya5hw584319y0kTESnIaT/uBb0voq/Ioie4uOZqOV8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747186; c=relaxed/simple; bh=6wTg5DsJ+ATD7iLynQ18x4EJDM0BB2ZAPMsN3b8NZJk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jXeB2bW2FophxdZhYwxCEaxi+XLDUf5eCfF3KcA7DYfmfV5rQz+7pSL86UdDHQyj3P+7rFJMBA4FMVdIqbh8bGGNRVMalOgZM+3n3Nr+7LeWKwtnZDuJ3ORMOmSskQj6P8UKyuZGctAZK8lV0YaM2udzP6NnwftCvPqt61zWJEU= 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=bKCS2POP; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RdjIF6dk; 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="bKCS2POP"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RdjIF6dk" 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 625Kmv163726365 for ; Thu, 5 Mar 2026 21:46:22 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= lmkUTSqSMKdHAfSHvzXCLPeWkagFUCz0SlNEC6QFdTo=; b=bKCS2POPMQPrhHTk ngNEQyMtdSUmID1ke5PQnDAWyP62jpHAdCAGQ3Rlru28IR2le3f4V/FpLO2n1OQm cMEG/XkRS4ik+VDEjHAlj3RMPaUE1GYVcEGbUy1wtOhDdF0n+sueBWvOEY5tn+fK YsXx2uEnAFpLhBX1uiUGNpRMLzjUq++idIRis2YSfm3ulhsiDpsQLOS2P1GdAC7m GSzaAJGqpZpRcHQsXXk6dZjKo1iW6zpEH6ZACe75dKr7H122JTczXqU3o+Qszzbd Iv3WjqUH0Zbam5CljqlClCvQCvJjHeuzykxsgbwm6k8fUfxCAgddNktl+SoLAnp5 dPt6sw== 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 4cq85dj4h7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:22 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-89a1f95aea0so108798416d6.3 for ; Thu, 05 Mar 2026 13:46:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747181; x=1773351981; 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=lmkUTSqSMKdHAfSHvzXCLPeWkagFUCz0SlNEC6QFdTo=; b=RdjIF6dkbg7rl+eKkgvGhqshIRxRDWxxFB7QpQogtgEn9M5lgfVp9/Q10Z9bQwaY7f UdgxGc1oiu+O37vk2sRMRjIwjhVg8TYv2sKnCmfZ3Qilgbetva3zTaKsUmMrnYWkl50d OaXjx2hJMOLVDiXvRA7MrKSXWjuNZ6+p3MdvfQAkPsBBrjm/UNScUzDT4RLH9bw4IXSe OFQ02xNmo8/D/7nJJDGlofZAV9Zl6Xv4UQkNFsZeV9Fw6WqtksQrMQHH9Xeu2/4KPQK9 vG63w8h8QgBTOSEA8i3P9+ri7yUpswYPUhcIh4HcAWfxnrbEwYOn1KWUOjLsGTFowTCs g1MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747181; x=1773351981; 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=lmkUTSqSMKdHAfSHvzXCLPeWkagFUCz0SlNEC6QFdTo=; b=ajYQj59z6XP6ud+7WLzCLlfMgCMicY+K7REItO2fXNz4+woZHOa2DGaa7N3Yoy/4Tc PBwEePCQJ9A/2oaY/F0WMCBfcsvh2mMLr6U9OmlbqcovClw09adehIcub3OaQFMS/t5l 8X06ofTey5zFz+tis85I5r/F8wwQ/HVRBaRyLj574H9yjnIREMSE2MRrmmWUPirlAHHp UDeJSOll9wMZL+b7sf0BmjRdAqUp/qv/vVGzo047CsuwudGyP947W7sCLXlI9PFoEcFo ZxSR8BsYM3tyoV7g0rzxEOm7qm3gd4vC8EChNFFooMAg0JjAqLLyC/V2w1HmENgM2JCY TFlg== X-Forwarded-Encrypted: i=1; AJvYcCUw0So5if9G1ruKNdMeJVI2HmCt3KYjeTxnqLg0QSky/IV/GgO2MJPTeZPTIFPm4IluloAtij4JtCFLLJQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxQRCu61gHZfzSrxq+FA0APwF2puW88K7AH3EKLUXT9AvGnyjfq KkzUF0JkP8BicdwdBMJU5iasQMVzb9kN5Ct1uAG+QeY/+6ptZQpl5IlhWYV3kgMZpCB/wajZT+C WRKP75+lburyBKLy/xBeCDPkCDrOt9oRwH7Mcjh/Ckwvwmj8y4uqRsXmyC9WDXRAkNfg= X-Gm-Gg: ATEYQzzWiI9//ekcQhNY8XkKeROjMzBCoRp9DiNKUMr211jtQfte81dPd9KZwHFJUm/ 0oW5Hlhj+sbWy8INOHCKva6hptp5mjEoWsmcbhGsivTChyizRa15xvKPNwvvjyQuWktCbuGJvsB saUNFITIGT1Xw318+5oSesR3EdPofsZS5zJKF6up3i4VlXV4KTKlrLxNfkkKn720IAkej+N/ori mVKven6qxQiGFN7mwkDtL3G2yuYZ3CAjWpb3LwQtakdEuanGCRXV/05qkpY+5mhuwg3Jqqw7JjR iX0b1k/mNWGroyRYCslDFitsaLcSLqUFU66eN4M+m5Sz/yyi3xh9UNrwY6RJ12OL806JZRl0uUf kn/4ozIstmTRO4yMnlu6Ksc0YNydo55JbFyQtCHI6Wgic X-Received: by 2002:a05:620a:4494:b0:8c3:598a:2956 with SMTP id af79cd13be357-8cd6d3966bamr6925985a.33.1772747181608; Thu, 05 Mar 2026 13:46:21 -0800 (PST) X-Received: by 2002:a05:620a:4494:b0:8c3:598a:2956 with SMTP id af79cd13be357-8cd6d3966bamr6920685a.33.1772747181120; Thu, 05 Mar 2026 13:46:21 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:20 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:42 +0100 Subject: [PATCH v2 03/10] power: supply: max77705: Drop duplicated IRQ 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: <20260305-workqueue-devm-v2-3-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=1275; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=6wTg5DsJ+ATD7iLynQ18x4EJDM0BB2ZAPMsN3b8NZJk=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmb4FqaUPE8Ufhusp62MvQj/z/BudC05PFyG lRWQHQ+flSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5mwAKCRDBN2bmhouD 18oJD/0TgRoahqQolkN+HXA2B7CERLNPQLecC5FxtW/Y0TeM3mpHkMAh5y1xBix+0e9BayIEkGg SMrEr3kgC8I9FEc8Mc8G2UFY7AQpAHuFGmjnjIhj9YCfgJaOB9GLUtsDkzip9AjWYMuEPNdg0hH N240sOUOBCgzBgfGY+5U8AHaK7JKZp4nA257ZtiwWR/9Ua7KEXVvyXL7KujZzgWoYIY1H3CJ+p9 T2MII1isUfaViTmqZnLN/EDTeHMwvh2SUwRMBc0x+oROHzkHmx7GkhwhXEFpFaQlJpLhHdM0cr6 UCteNGZaYTAhPBNZ3Iwwg1g3kHUQpAtuxMGI6wP2TM2T8thzx0lOP1vpCHoyAKS8NffvVE4Cnlk LJeRT9kzSPj3mNfW2tQPou3NDRouDud3eSUX7dHRCsKEgWH94aGzbAGxyuCFcq/tWFl2XXBOmfm 44H+Vcs8ff43di9cK0YWiJtn5Sk14hXiz1sz6bEFr/nKpKDdCiJw5sSjZF3+ODc93BsQWiJXlsI 8T9NZ7c4YdS+9WfiGvwjRTTPanrmNmgtAZXQEooWvgiGwxRPaR1whqMDEtiuFeAauioOIxE2eQ7 +MCgY2ay1ZTUSZ8QjJDAT3LgPa6Dqw/0s4NcwNpP6zqW+ya/JiSa/HNOPPnTzOt2BShhQY/QI3E YavCWFWns+RI0Iw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: TZi2cffK_Wg2S-eVYfbEOJodATLVpeFu X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX6JZK2HJncqh8 SVQcyvwjG+nPyRR26irw93Tm/Mp3Wp9m8emqBghvj0JayCh1VZd89PioY13Xk2TPtgLV0j1ijhB cRGApgECu26aWaFJudS+A1XRuLx+8G259qL/y91MDIp4vifTMSyc97y+LS4bYS/tQOSldo1wWZX vB++zy5dzwoMosAmq6hBvmGt1wFNvkCqJfVj+xgEXiyg3j+yqYXR9DYZ4WRQuseEmZI2/ca5zCP PN9r3+xhI7SZKmr2MoIZVfKQTIlzyPAXDvu3cFUmLWlgcEx3J2fm8kKYEQq0yAL4tURedfz8Zf6 6ShjZhiGV7pr5nJhRE4o0DzWtNepcTyNtOLLuiaGtjMHTmYk2OqAQ1MJWWZFHihSTURzEAjjeQk hnLtIb0U4L4mgZFOpkjGRnGA/RYv526EYZmH1vR5IJ39t3DRUsxeyXqcwANDrE4a4JX8fBIKTqb efrIr9k2Mk66P8qbk0A== X-Authority-Analysis: v=2.4 cv=aOb9aL9m c=1 sm=1 tr=0 ts=69a9f9ae cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=QyXUC8HyAAAA:8 a=EUspDBNiAAAA:8 a=e9VCzvh-DsFqsbzuLP0A:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-GUID: TZi2cffK_Wg2S-eVYfbEOJodATLVpeFu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 malwarescore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Core already prints error message on devm_request_threaded_irq() failure, so no need to do that second time. Suggested-by: Andy Shevchenko Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- Changes in v2: 1. New patch --- drivers/power/supply/max77705_charger.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/power/supply/max77705_charger.c b/drivers/power/supply= /max77705_charger.c index 5dd02f658f5b..0dfe4ab10919 100644 --- a/drivers/power/supply/max77705_charger.c +++ b/drivers/power/supply/max77705_charger.c @@ -666,19 +666,15 @@ static int max77705_charger_probe(struct i2c_client *= i2c) NULL, max77705_chgin_irq, IRQF_TRIGGER_NONE, "chgin-irq", chg); - if (ret) { - dev_err_probe(dev, ret, "Failed to Request chgin IRQ\n"); + if (ret) goto destroy_wq; - } =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"); + if (ret) goto destroy_wq; - } =20 ret =3D max77705_charger_enable(chg); if (ret) { --=20 2.51.0 From nobody Thu Apr 9 20:25:14 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 05EDC35E939 for ; Thu, 5 Mar 2026 21:46:25 +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=1772747187; cv=none; b=Ra+WI73vBXD5EHcNW2zgCbqWZC9JM+aVsSDjyGCr5lgZSB2OjMbWJyfdGBy4IRz50t2oPYMSifg+Mgep4GY0G8Msgj5DSgWxQcwzHRfZLw0PTdhvLPtbxBtdrJ+sDoJf5QKRcJeMZmKTW+bgatWJ+ZI5bcDKo4J/xpBLiNoc6a4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747187; c=relaxed/simple; bh=PoZ0eKm8MLgOO90bXKtZwxPlfboU8J3eYOJIbv0VDv8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UYmwimA4U3gmtuNRgIUj/ylnr7oH9qVy6Sw+3yNJUsx28ojsIn82xFt2Oiwbr2m412In6XRrcPfTy9pJQ5R9q8zR9THeRFq5tnckAo5K3l8nDUnhZdmoNtPlov+5PUpYRGwFYMb0ZvUUCleVrxWxTmWQHL/vVnRLW/Mz681/XAI= 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=Ov+IYeXy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OwOpYvV8; 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="Ov+IYeXy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OwOpYvV8" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625Kn6dZ1805878 for ; Thu, 5 Mar 2026 21:46:25 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= Vcpaugt/kV8VwsdX8NCcfQ7MWxrzT9ru/yIG08skX+8=; b=Ov+IYeXyCQyHl580 YhbBes9RuhaotmCUAKz0h4zKFaOLd8/tSHTcFEVJdB6KXopiHp9iUXCwo2Fap0D2 Tm631Kk4frs+VjP2udIj16K0WIpmkuQwAqmDaqP0nFv5H80yO3BFD/f5lb8sKE4D 4YDPr99ljDYrD/YO59LlT12dnSK7tqc33oCibG7vKq3BS8yflyJCHAVZLTAjlWzX AnG5ISA08aa66pOBVm9ALdkuEAe7GizpbZdWTTNY5mcBpOWV3RTJe2/T+4DiaS99 NWFYIC8KxY1qTqOhEPprHTKb3WbwGFsKvXNcqAfnkzrSR/HxANEXlqJ3bMERuPlq T095Lg== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cq9srhtk4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:24 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c70ab7f67fso1088163485a.3 for ; Thu, 05 Mar 2026 13:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747184; x=1773351984; 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=Vcpaugt/kV8VwsdX8NCcfQ7MWxrzT9ru/yIG08skX+8=; b=OwOpYvV8l43peyrJ1bWHJyl2UyhmP+5yOCrLfsLmsES0ecGFvPkdgBRTeFjJ3VW8zl hZopyVzYmsj+PgHQZFu660QuPvoTN490BYOGQKLr4tFJ2KBdmGQKi/+sYP9O1gVj/iDn S0Z80vJdvxBYdVen9ofqn/qiHVo3TTQDzxjF91B4ke/ltpKnFHnNszCS/QKh+cMAbbhw au/mfK/smjLvKTccYsRO05OtN7yMO/HmpcuVHRsToghObosLtizXmOG+r0K1yp8M2r6C vRKcReEtxnHydK4BHXZDztMP2K46mrdjgzQCcNN4sRm0G5UxCNqNIuKV1H+KbzChiYcr CI4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747184; x=1773351984; 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=Vcpaugt/kV8VwsdX8NCcfQ7MWxrzT9ru/yIG08skX+8=; b=W6kUNNqOF53KcVNbHnLlLLnCP6di6Ga/VicfyCxzqZv1ClTPFI9zBN7JPUgQZY25qf E3vQOVaswhIJKDU85KEAm4Rv/adJzyDBGGXzNPeK+3UK4mhSdyENnIokd6qoE9OEsmZT dlihsOnUlcupjtrbsDuJxIbG1PPuXkSrJrUvSPzzvfS1Dtz+mHQh4yGPiTMrQucS6dS4 p7tJCwz/NwAselbOTMPQTqUZblHUGpc5ISlGu0MBc05LT2QKsDkwpKqPIvJGuGgSOL2Y fubg5E5/kwW+PlCZ1+37NeGblU8fO8MkRJ67A/v15PvZIy+VnI5MamHL7VxClKEIVVVe PMvg== X-Forwarded-Encrypted: i=1; AJvYcCWQcNUnAVW0Mccqjv0sTkFVtyYPhwOEOmqC6ttQ635LKwuQdIUJ55P9FI5wscZ0GjpCPADeHWTRDU4xYNI=@vger.kernel.org X-Gm-Message-State: AOJu0YyrsIHS96MZJMUJtkvP8fu5SKE9G36k16Qs/AR35yLtLLiNhd6T x74XnZvgcCU5/0rMnaqZqQW9lNcYYKUnnIiyDpJH4D9NmBbnnC9PlkqTg1WbwoY5JtVIjHZAgDr CUh5T/FC0U6jb9E1uR0SCluxfiX/CyjfgSLo2i7tSGVIkA2l29/X44ZxsOWcyhaJjES8= X-Gm-Gg: ATEYQzxWLf+Th26eIExHaNg6ZdsG9Sn+QzHK+R5tbqypw6pE38mzw191QrQBHIYcUTh ZABKXAgs6tL/BfUikIQuTda2nulcZrWWAF04ryD+CnmwsI72iUtAOrG7I8n3ooJ2481v069EQab w73updgVQvVjM2Qrlhf6DZoeoxq7xVvXY/HlfIKDmjStYfgclcm/xGqVxZEpRKRv3+v1CpdYiQW P6YrnSo32VUMsoo23VQB6egNK+71DGRSzM0/k9Ps95zw0Vj6FHWqjgRalcEQr0vxk9lL/Uf5oiv 5rGVyb/4AWLkOo17dAsDxHEkeRHSjWa3wCjSAultQKeO54B+fdQafc8FywQ0xkRS2HI36Qd9rto osvrXrDaeLaYfUYYfBK6nHHZgy/l6kl9levOq+5AjpjsE X-Received: by 2002:a05:620a:4723:b0:8ca:1107:1214 with SMTP id af79cd13be357-8cd6d3fb768mr5040585a.7.1772747184128; Thu, 05 Mar 2026 13:46:24 -0800 (PST) X-Received: by 2002:a05:620a:4723:b0:8ca:1107:1214 with SMTP id af79cd13be357-8cd6d3fb768mr5033785a.7.1772747183545; Thu, 05 Mar 2026 13:46:23 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:22 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:43 +0100 Subject: [PATCH v2 04/10] 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: <20260305-workqueue-devm-v2-4-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=3546; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=PoZ0eKm8MLgOO90bXKtZwxPlfboU8J3eYOJIbv0VDv8=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmb2gO7y2En1OEl5OFrZ4KkZpCqXAC1BJCWa rs6OqZthfSJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5mwAKCRDBN2bmhouD 1xQjD/45+o2CDJzfafztbtIZA6A6uwd2/M6StDF+nW79PQVfIupsEalhQKwpwZ4AsUkT0Uw8RGj wj0rA71xQpR3ABUAkbkTWK29AtuiG3exU1uIDH9aCZRainZVaR7wkSUHCvMgKsaTp9dlIsn/7bY w4bO3g2L5ptohXvEgDXiLd7V+2bX89tyyI0oCiQhDwFCBlhvzFZ6x7iqZbQ4E/CLc++QQQA6CZH nzuCgbL17+egu2SJsyhPXHZe/+O2mKiTAYmgK1tYwfD3BErfUDoR2RNwOR9JzpmeufDlWnGqlTO EIDMTiPrXSaF4bQEb/ft3SNHmkCmKeufktwmwfOLdpfyL4Y3JXmolp+1IjpJeLodU4EXEOIYQqa v9/iviO4p0/enW/wWzn0wYZhB9qAUGTF2Zq4hs1xJqhr6Wd46MkRRpEdOFUntVvF0WnTuR6rHil d8tykmlOpdqR/4hP4S9icOrQ38dyPg90iLESKGi7zVvjVXzDWThzA60B0cJjcgCUxSAVtOIW3vK MXACsTA6NJTMi/oPTFMFJJjHJHXFLTEvTxIsHdN6fDLQTWtAHkD7Bate29s1YA3OC2CEx7umvTZ 5nmi58PnCwirVetEziWYHH+9AfaojA/6g2yTy2rWOnwHbU0uXY75M11oJychETq9y86bCN0o7bV jVaMqs2Z9iuPX7Q== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=a/I9NESF c=1 sm=1 tr=0 ts=69a9f9b0 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=NrNmjpoQ7DW6B6PU5UcA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-GUID: 5LjDJRGJF5XgwT459sPmbPQ_EJ_mMds7 X-Proofpoint-ORIG-GUID: 5LjDJRGJF5XgwT459sPmbPQ_EJ_mMds7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX6tkHkweFU3kv 83QHEb/ZBIFtiHeEDuYBgcvcUc/MefM54t04X/eoWG746hKq97Arc9D/o7VX+7B2MS8DPeoDdv3 CO84TLa4IPikt/fTX47TbvtuqhJXEY/0AAkf8o6ESn3D67UkIywTy7lmuwGPqbJS2lD4sC5oEfh Aip+F3EgO0aWoMRS6niNE2FhgG8Rv5wfXqq28ONCpAnypqwWvx9a8eWukivps3+0Vigdbi3htRW Vnzb/o15MWQYGGjrmvc4WHk3j9uOS8Z0edrWOOux0X4ZQk+LD01tWPMWjlg/mopwGrzw4nGzrAh OZo7a64xVR5IvSyoeTqUAN1RJ1RmCajVNQBZPKP7w9gKOyAiIxpipIoLerVY7BDyCHbJTO3P5xu iBI1TVvv5m8j9v9nlmLqfEIC8sx6xQDpSXJhOX3mEaqOWuYnej+tyTC5BgHENvhz8r2Ngdkg6ah fK/oUrXub2SZfF+4yoQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 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 destroy the 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 schedulled work will lead to use of freed memory. Change is not equivalent in the workqueue itself: use non-legacy API which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is used to update power supply (power_supply_changed()) status, thus there is no point to run it for memory reclaim. Note that dev_name() is not directly used in second argument to prevent possible unlikely parsing any "%" character in device name as format. 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 Reviewed-by: Andy Shevchenko --- Changes in v2: 1. Use devm_alloc_ordered_workqueue(), mention this in commit msg --- drivers/power/supply/max77705_charger.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/drivers/power/supply/max77705_charger.c b/drivers/power/supply= /max77705_charger.c index 0dfe4ab10919..63b0b4f0cd21 100644 --- a/drivers/power/supply/max77705_charger.c +++ b/drivers/power/supply/max77705_charger.c @@ -646,47 +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_alloc_ordered_workqueue(dev, "%s", 0, 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) - goto destroy_wq; + return ret; =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) - goto destroy_wq; + return ret; =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 Thu Apr 9 20:25:14 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 4150A35F18D for ; Thu, 5 Mar 2026 21:46:28 +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=1772747192; cv=none; b=dYdioiA4bVHVpCuOizY8g8ul49kww6nLa1LugYaBFlpMu+jy87OPAhVUVHJOqcg+36FGJsydzSmGdI7EZ7MiSTfQPwp1Fnsk6Gt0xi11kghMf/LubZY7L15Ph1/X1jyo4oD05fnahSozn8n4LQmxqd33npzRr3MsbOCzavFrWys= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747192; c=relaxed/simple; bh=NEUpXBPJ9dEtS2fWmU+0dR2QDjspzcgcqiZEmv2uSmU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FIazicm6Q5uEA7rlgR4KG6HVlyNLBTsi3KQOH1TnQfPEw8MZ/6aSoOifUC3OGM8xVxDC2HbAGVlc2vRU0a7u7GiJRJEBNBfONUndCVoXbdN8vwNldMsPylr0oBrZI4kqS0lQaZ+pLGV/wnHuyz80IpSC5twk/LHISQbiDguZd0s= 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=hsF3iFgZ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=G8zl9nc6; 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="hsF3iFgZ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="G8zl9nc6" 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 625Kn09w1810535 for ; Thu, 5 Mar 2026 21:46:27 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= pMdwalXJEavN6LV6CAE/53Eqg9eopdoniYo4PZb2D4c=; b=hsF3iFgZR3eFh6Ua 8327APE3WHi8P+d6fNwAgOeZkBA7nU/f46nx0tJOzdK+dQl1mUb1mq1x+YiANJp0 I1GuI4e/GaoeDdjwQb+St9rfI9y7MqWyBz4m5Zwmi6XUFeS/TwygmH++HSfneFeu xS/LQxdbaLeNZDvra23uALJ4t6q/5eQIIrxKq93g/I6j+0Cji+dm+0N7fr6xzTiK RNL3FSlM0VhToCUb5dUT0iKFOb6lqFDhv8glQwvmkyXyFgj2RHeC8McMjhTvQ3ar M+dNBv0iH6X1ejSPi+62L2hrLHgOQYxx9kKdsHP1E3gdJflQnXe09MMvi5DxJJbm OzwKJQ== 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 4cqgp407p4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:27 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c70ed6c849so1657740385a.1 for ; Thu, 05 Mar 2026 13:46:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747187; x=1773351987; 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=pMdwalXJEavN6LV6CAE/53Eqg9eopdoniYo4PZb2D4c=; b=G8zl9nc6g+xNKcwFChhDwPjTUM/yROIRlQwF2FjkAfzU9RS1GY+H6oAKZQTDLmUP6v gM9DWqoHVnPSyiQS1hVugMYDf/V0QYIugRu2GswYnJjosmKhx4S/Lw7fRx2yL5HYjkP5 U9yIz4Ke6HTqEsjkVNfMECn92fIgwj/nyf4Wq1hpBezqxsLYwZMLLPfXez8Zqjz0KTTN kKC7vRNi80QGnS1McXYssyXEAtHPpqKC8vVYKmdSC+jt4A+ElkVDObm+idsFKe9kSkXu wOmfpF2NDBm01mYg/xACa8+9eYD/LY+7HxkpctV2K08hdGQ+z8L4U6l3csaIuFsnJ0hH opcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747187; x=1773351987; 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=pMdwalXJEavN6LV6CAE/53Eqg9eopdoniYo4PZb2D4c=; b=HyFDLaQCtUjCawl321tLkHdlXcI/VU9NGqZvveABUUD+6OF3yEYmx8l5XipTOVVnbJ TCTJ0ShPipb3UxfwHYXQa+d9jawh3hmqXdI/0XDUY8RjU9yL0HQigPGUMOZ+mSx68UMY VxXFLAlckn+59uz04eBbM65LQOjhDpN2mIRa4U51K5BDBsMbDc91WGDWLuz1zBjSOK3/ +rvSFmXITr65zNyWrs69mEiVjdkPFcrnVtRc0fQKdndjCekvLfu6TcNo+6FpQYuGxgH+ aH4ytsMwP5tHZjP12/znSqtFVdMPeL9ET95J6Fn8JUWm4HYwoVLnVo/NskYW4xxVob95 YOqA== X-Forwarded-Encrypted: i=1; AJvYcCWXNXu6ClKG/ufYUTt7YmzGSQ2vbr5XXWbkHoRwVTGsVbBFiZH5jsgffscwBZiMWDSLlXZZLtTBrzkOqvw=@vger.kernel.org X-Gm-Message-State: AOJu0YwbeBJDMAH5O+2DGOx1lgmiFr45akpK/jOH1K0GsZJUl9hymTsz E91XYr6t4NveYDAwbPWygpswZY9xe6ErZ8YXRqNERPWUgUyVP5BKzRfqlyIHdyTytWbJme70F5/ n2RYZHivH94MgOKusBRvYQmIpZawKNlw/Mzw4pxbqs6xJaPZqCir5HmWPHbcIyciG3Oo= X-Gm-Gg: ATEYQzz+hivrd8vceFcBhU6BLVe1NgsiNMqHDDl1abas7tg4DWF3HrS1zp3jC11eY6r RKJPyp3F5k/RJ2D9S4zQYoazek0zm5hQKHUb6bb5fO99LwVEPX27u4gJOvSvatWODNJFBQ2p6Bj iYhvSR1Ufb7jvriWtSReojtQ2vOAbvvRfIgPv4hltYOItYl0e11cLskYncI67HqncjWN8bwzhy4 eqdKVe1iwzYD0CiYgDcx5eyrfNXMvAMgCASx5KHVA7zwWRL7TKqSPA5qlxZBeroyIWVjoA7B9dU l1rpgxrwj09fLO72mKAaFYA+o4geGrp2hI19P7oThr1+Aoa/XVYFm54guYZFGM9CKMSXPQbODVy +Y1cW6gN5U2z2NZYoqnvfPzLgFXfqLCC6rhFDD1QrBJ5o X-Received: by 2002:a05:620a:4482:b0:8b2:37ff:de74 with SMTP id af79cd13be357-8cd6d3ab314mr5797385a.34.1772747186562; Thu, 05 Mar 2026 13:46:26 -0800 (PST) X-Received: by 2002:a05:620a:4482:b0:8b2:37ff:de74 with SMTP id af79cd13be357-8cd6d3ab314mr5793685a.34.1772747186093; Thu, 05 Mar 2026 13:46:26 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:25 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:44 +0100 Subject: [PATCH v2 05/10] power: supply: mt6370: Simplify with devm_alloc_ordered_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: <20260305-workqueue-devm-v2-5-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=1981; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=NEUpXBPJ9dEtS2fWmU+0dR2QDjspzcgcqiZEmv2uSmU=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmcNn3k3Rnw/2EcuO2yaMfih5Vsn0i/XXJf8 SvINHHZXpmJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5nAAKCRDBN2bmhouD 136hD/9ALKD9SvFh/azG10v3UDLkpNlFun8cFPxOsqHfB7d5jt0wLAMJR5OL/G0gbo4oAOx3rZz T8YEb9fJN8jqmiPiXHZV46OJ6MX4FJxGF3ko3W56lIhjR/GbgdkU4oZZOUDfJjhKmjm52JL4uri Ety79GYKI8agwE1+zQxflWbPZ0ACvbgpu/gSfA1+uImrdNmJrXxnGczTKSzc6/cwKvrfFhRITfK qugeeHB6FJX98OI7B0/y5V/PxLS6HhXfQb28TXxpfHaQi2Z6At+ql1/SaeFX33rIq4NSlV1Z17x 2AQUKGzGhYSQBFE9p/BHznlYMN4+YUsSpkilQJq1FLg50apjcVXWhbRdDTU/QlgGwiy/qn849+R bTeGbErLTERXzbcUgA0JDy01bNziJyp3zcwACGBgVCoc7HyfY1C+ZrrXs55ou4ZUTH74eX8e/75 Bsj6LEgkgws/j26GPyEqX0tUEoKn4KYjr5vjMPiT3B4CjRnm2EIMQA+hd3eVIDLEF1Gx73S//O7 P3uykwrUAg4/KbdSlO4x8Y0oZekuMvA0wECeeIsW6nBX/GLqql/R+MrycZ4s3CzNoILTJJm4VGq aqUNQtFjSZkEGtycfu9T0VqpOY1quTm3MSUX/d9t7UBo0mj5pjjRuYFEc0K/+Auqy76BT2ros/w 1z93nTbelAT8enQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: SNMuXtDdrLBtj5TUYxB409JPoKb8WtbY X-Authority-Analysis: v=2.4 cv=LegxKzfi c=1 sm=1 tr=0 ts=69a9f9b3 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=3EgDlKgDbQZu3HAsDPoA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX+yrlv/2I6tEr dqVoWvQS5eQ7On/EDCd/QLNP51++b8F+61UJTJTfWtG/6gfLELct3XDP6looN6MOwCMsfryRsLX 4tUak6VGUalVpgqizvQPXbOIhWvuy2Y2yyGFbnjpiVm6FYyM99zLv9PKiEbzaMIq+usVdrCmUrl mL3KzrniFh82HZXeXQuBmT3woO7DDBfwpzkRhiUZCD4ofgSFXxO5m8xAWceKshsO8upjzdasIEh s3MauOudYe8l2/ic0ovbgQdIalhAU48FpgUbmOFTRkg6DmdRj4UjeGOHge06IxmKpyxH42Uo6vR ABTEA4Cl+ZBdnyQ8ZIbsjWHD8ATUH1gqppgiT183wgRDnZlyMgzhPxR1A/zWvsssNWsJofNdwOA z/JrnTONh0uc7cjmshDorx1SnKIUHqbjJqA08Hd3QuMmottRwQCdkTd+/RVjL61OiXVKMgbyRmY z3DbHOs959iZvK1jQ5g== X-Proofpoint-GUID: SNMuXtDdrLBtj5TUYxB409JPoKb8WtbY X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 phishscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Simplify the driver probe function by using devm_alloc_ordered_workqueue() which handles the cleanup already. Change is not equivalent in the workqueue itself: use non-legacy API which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is used to update power supply data (power_supply_changed()) status, thus there is no point to run it for memory reclaim. Note that dev_name() is not directly used in second argument to prevent possible unlikely parsing any "%" character in device name as format. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- Changes in v2: 1. Use devm_alloc_ordered_workqueue(), mention this in commit msg --- 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..916556baa854 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_alloc_ordered_workqueue(dev, "%s", 0, dev_name(priv->de= v)); 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 Thu Apr 9 20:25:14 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 BC1CE35F5E5 for ; Thu, 5 Mar 2026 21:46:30 +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=1772747193; cv=none; b=KIzJYggHiJ0xCM5kWoihDEGVegpPEPhafteOLKdCDjRPwqYfm0A5CY1qK+xy9mFTlxKhjVxrc7WpRaz/SZlcxaU+0Mq/omDWJaP+njSBmLM/jJAvLemCwjvKUtgBH3kVLplZKEeDQj8g94TVtBjUbFh3syz73XIu+5tVTLQP0X4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747193; c=relaxed/simple; bh=G2Qaq1IYTDtA8nYq8hb67ozAR45iYXNAROMWtKf03Uw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d9XoRwPZYZYDPfKHnUHY9+SprqwA8Qsu/fSE0OmSdNedMLtHi8L8aqBWY8q8Eu90Pcf7U6dEaBSFVFSmvI6hMNNiS5pOpc3jNyVYL9Iwp4oF5XxLcpe7oWQOnIGcqBLWwth8gyiGmUuZ4/HY54ro50xqU7AJjPuUIXmrwefckuY= 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=WFSxdaVi; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bEinuJIW; 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="WFSxdaVi"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bEinuJIW" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625KmghB1802873 for ; Thu, 5 Mar 2026 21:46:29 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=WFSxdaViIVPBNC+X 9bqAQeOpl9vGXSUUioaKpINGyFSaBj1czQ0kQkCk8MAiZaNmcE7wHL7+fV2sSzvQ 6+x6p53n81WDEWEXo0Nv8GVfz/Bq6O3kyYYQTrRB5tyQjxBDwKMW+0/9IXoQz2Y6 d4BwliZ31/MTimweCNxGsU/+OJhDIJazRYQ9e0jeS9F19EGb9kvDa4WRvV90AKH6 2VVrNet5cmq2/CEVpkYGWwoO80ZawsyODj/naisE4DyT4Ns4KkPWvMc1KeARrEeT q79E+dOAggE0iGVpm+VqfUmpaIxDya2l8W/S/L/z/yRp6GtTChefieGrRO/pVVkG 7QkkbQ== 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 4cq9srhtkg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:29 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c71500f274so914053485a.1 for ; Thu, 05 Mar 2026 13:46:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747189; x=1773351989; 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=bEinuJIWCzs8oyxJ1ZQe/B5ibrlzguy8muAk1KsnTZo/ivMShgSxykKHbB8DPs4Sny k+g2UVvAfb2S61E6t2Nm8Hu1EF1Ytd93B7lH0Dz2MUtWgDntxPFi8vNPc9XgWGfZIHSw mLlKjmXqFi/cUq0hwehoEMQ/7Q++j8gY6eyqnuZQyxpbrYdsCtbvvJj9UpJXyM5JkjxJ L2hF2fDkmYBFb7gOzLsF/CDBjzDA1u6CYj+U0gID5bDfHFvSnyaNv+5nIRJYJJnrLyhg jFXcw6lFvjnBRkIX0XxXNP39prOOjuTFOUO/oMSrVMpDVwzUW0pbPx12rHFYBqgDWDN7 npxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747189; x=1773351989; 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=XYB3ElA+mXwGIJd2CvI/dM5AAdKgUskYdS98Sa5egNIpM5QKeEcRxYfzaZO7PdD/mJ EjNk9LkzDiG1LV6jAe/Hi2PirOVuMXRd999FQvnzT0ClUjGNEm9DOzsX0DYxeGfniZcQ N9iA8Tl7ZV5DfamiLObgP1iYeMKmiAhBwlx3Rkj0r++vTvSDGWeTI6Y44+tjC2J2DdbA Tfqd5vSSWbkTOgtupvVckQqWwxgb0jizuFJAb9JHyGAQDg0gpAnchCUuWNbnNSI0Fbay PwPxbysRkDqcaFs3Pg/qm+j34yxGKE5piEVukfPuzfjthihAh/OFmYDJ+Pwq6ATUUQ95 3Few== X-Forwarded-Encrypted: i=1; AJvYcCWYtwP/8IRak97+4Evkg3S22st22AJ48K6OmaKO3IUjjnRNvz2dhdZ59XwU5b9ApxtYL9YiZ2Qp33aYa2E=@vger.kernel.org X-Gm-Message-State: AOJu0YwfKEoG74tNpdArH8H5gwObzxMvR3xGNUC0gqdXwGY7AYOYbbs0 s5i+CahdX1nxbApmGKEk38TWvoCN/xtp7XgE4qT1W8hMEzcIT0XNcSQ/cJ6QFwdFK/lG1o2WEhL wgPu5YfzWjJkMwKO+090iqJ+IjAvglElEskFkMK74eOG6LgaOtlzNqFVsr3Codb77yxA= X-Gm-Gg: ATEYQzwKlgUDcEGGZEqJHYJyh8rjWmQWiXhOcTsqYX1PtXIU3ei7j0vYpA3hdSzGUj/ 8oVeoSNGENq3s2A33CjHD9YDgv1t3/r2JKbyl8Sw/yEyyE9MwJ05KNXB7NgpDv2gLGRn/C+L4n/ vnuuZzJIrIQVdjLwLJ5G7QogBG49G/QP9aLk0jsM6dGW/BkrSDJ9ZmBZjvpxohgzOtyViuE8LLE 58UmBo8aZTH3wxLhJR+ONxNTlQZjXSqPRjiFV2BawoVl3/lHYYIav4Q8nK0WLmXyn3guvaTmdqW nI0t7qkT1J7WNAXY4UlKjEr1+RAgwVIuBukjiZnk9Zr93EXzcIsaOjN3+d17lT4Q+4OR6RgAxfg WNLiRNkW8gJOwSIZGvAl+phjdxnD/PIo+qJMaa/BKP0+b X-Received: by 2002:a05:620a:1726:b0:8cb:4fa5:d47a with SMTP id af79cd13be357-8cd6d494e49mr2330485a.77.1772747189119; Thu, 05 Mar 2026 13:46:29 -0800 (PST) X-Received: by 2002:a05:620a:1726:b0:8cb:4fa5:d47a with SMTP id af79cd13be357-8cd6d494e49mr2326485a.77.1772747188622; Thu, 05 Mar 2026 13:46:28 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:27 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:45 +0100 Subject: [PATCH v2 06/10] 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: <20260305-workqueue-devm-v2-6-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmdS1zMtD2UaoQRfaiq5mLP0QlOTpilY/8TD J4ztu2IWgOJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5nQAKCRDBN2bmhouD 13BxD/0YZqo0vRusnBrySJI4j7j0qBvMSBLl9ERMwbH5zZQFXisFq0V0/yim2m6aeuWG3sue54q cQyLvmbMOtlHEjhHsJW0gAP7otcp1O0SfR3ykSEKToa0wZY7+zGXm7wnrXKcTsXhcddZj9Ywk7G k8pxhlb6R/iKHlXjSedxxBM2U3iicVf9s043yF+9ADEZTF2SsoruyLdMui8TCO60ILt39gQjuqx 9inYM98ZePPGSQtHGfvmONO7Gu1D+EvkseMIaO+YIhDzEMAJUAmew+WPrK567ES5pxsJ/GIg9ul ND9JhEpU12ZAB7EKrHhCcxcFQOn6vDEvL5ZJ4rtl/Ts+C8ufpzL1pVEuldmRhFHjG17dv3Mm1hU qG4oztSBnPshts2d6Nc/Y4uayRlpNpeK+7SrP2f/PrWGQdd5KdFo5Iu1uJnwGMsiExW0MLOT2eI 43o7eDO7M+jC3NfI7za2SVUY8POdUyx/ba5BPcXUmJd5RpRiyOgPbEIZeRhYhkxSm6zNITQjBIQ 7tVjG3QlahgAPAcbxe0FiplwIwhYBRcso/cJGY5XD8IFB9T8+OH6y3pOed4UM7DNe3E2zT03P08 8/si+s74GY7hTw3HR+7C9YKGWQeAGDNHcOFKDrfcLEjPqmN4Od/VOYDbfizGIxxbX4sM4VQDDfi JSVXiCJBbZxkykw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=a/I9NESF c=1 sm=1 tr=0 ts=69a9f9b5 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=PkD0MmKtpR7JdVUpc-MA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: ZdfcP0SaTHjBwg7MgUcC8UFhccm3hHLc X-Proofpoint-ORIG-GUID: ZdfcP0SaTHjBwg7MgUcC8UFhccm3hHLc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX4evTWnSg3Oqh I3UTQZoBpat24jcgkqnPsnQZuuN3l+vV0xBZKrGrbWU9dythJwtafzsEK0jm6huIEFn/KFeqImj HrNjt3duUi7xEydsYArK0qdV1kFXvNslsdVnqcIDkoAdAIAJNqJRPZBmxLh7/98NkBhqkUGPdPc PzopbDbZTQyz4tjPPlPXB6ZsUS/AK8LVDEGQ4aLsKKcsW6Wfo/jvy4t12cjYTg2YMuQj1WSNo3Q Pxvc6c1ZJyrxwt1AAqAm/ZCb48q/0hbN+EwSm4SpX0FmC+C4+2lpHZ66H3E+wz5FDsWzuB7NlCF oI83b78YDSIb0pNroXc0g6V0MNq9Cew8OU5qo3PynxDNrSez/vBj55++CSEb6/2WIZ8B9xPF2Gz 1mgaydYFCjRJZKvEdJKc9ExdJ85zojqeLDxYDRRH+J9Alt/X1Z9IgcJHNTnmw2RzCvubbZhOBSy JxfKt1rlcXAQ5yqZMiw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Simplify the driver by using devm interfaces, which allow to drop probe() error paths and the remove() callback. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- 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 Thu Apr 9 20:25:14 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 3D3B035F5E8 for ; Thu, 5 Mar 2026 21:46:33 +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=1772747194; cv=none; b=TBg2Q66I54Uvvz9HzlyNEMQFWC5MjEjh2fEvNP0QkcqOL6F9oqcSzOS7SHQnNOvGIGR5Negt0OH91AIfoBJdeW2HkpUYGqTpR0LEusTsj/hnJxKMGy3GBciL74Hm8epDoX31x+b+sqd2NHz28xOVBfcCrsaSGMpyHK+tAuMhaM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747194; c=relaxed/simple; bh=GLZGLUI6y8mTC1CoUCYnqXy51nlJ9FI78lkz9mC/UlM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DFS4jgIaqtGi/SMsTGPPttF0a0ykRhIzgaw0KMglKAxryyo5nK33S5CjqOzYLTQdHwKRNmyncoNSaCPf5+6EhcE8v6O60jc5QbYNYa7oJmMztReQ9lhqoczsE1vOUyoMOVg2zW9PM7J0AHTZhvGILvLFTJWOgDWifPsnjqorZrY= 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=GeBv2aHN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kHP7XTKa; 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="GeBv2aHN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kHP7XTKa" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625KmVla2267118 for ; Thu, 5 Mar 2026 21:46:32 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= xpMBKCSvSSCJ6d7tlxcLy1pZDHIoGSHsADWWql9ZdpU=; b=GeBv2aHNVvKJuPtt eqOaebwXuSQyRXKB14SiCirL5sWi0kFlG7GjQG2PGoGLP5iNIdRwlb2APnrLD29V AcWpBx+LDgm4Ns9G5c5nNRz/Bm1VOy/z2inACLoaXG84LKgsYo/AwHUh3izX/eab u5T9A6Ww+RUQ76gVcYzTGMEqQifcJorocpBhrICD+UHOdQkIS+q13LQEWyQh+HKa 2Lo1uTq+1Q5MFjbfzsZVmjzeCaHNdhWGCW1InUj+W5iwk4Z8Far4fEmkpAz5ZZlm Ay7u7UY/xudN8LiOczLN9xi8YOXCgWCPKbEPaLfJMl3wusZurk7q9rmRR6J+XD8q v2yp0w== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cq380u82b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:32 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb3ad1b81aso1091073985a.2 for ; Thu, 05 Mar 2026 13:46:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747191; x=1773351991; 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=xpMBKCSvSSCJ6d7tlxcLy1pZDHIoGSHsADWWql9ZdpU=; b=kHP7XTKa6M/sIO7tYESNBftBN5O8T4O6Vb3gt7b3kPIU+jfi+7dJVWSgZQ6PpgDs3M ku0zeoHaCYFsl2n8PdXY0qH7brEmtKjVd8RaTpyRGktD+3pmgh0B+HG8s4FXTcGtUsfN 9r/OA/3EpDAz1d11P7topRJfAuZ76e+4VfC/i0KqWiX88o/4Ruxje9Z6BK9/qStVxb6O lHuPEW03zIukFZxRfDx3WYWTV1hbTrGxdVyeDqhgAl8zwCkER8U3wwgg1hn4uQd2YjzO pbJk+RtMecgsTd0dJmLGe6rjrFf9EAcMGfPqcmNDODXaDGOw96PmVnW8RHDpxAbp2Q95 YvgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747191; x=1773351991; 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=xpMBKCSvSSCJ6d7tlxcLy1pZDHIoGSHsADWWql9ZdpU=; b=cI/HHSMNVwp4umRRQld1ShA+u7rdzxRx4OXnmUKDtt4u24UrgBGbj4SO9u3vag9iCw KjJk5C2in0jXEHBsVXguoDS9lO5DK8TsXb/L/IdsYTNVx4GnUeBNyKNgkb29++F+oBpC rB/OO+NLHcaugG8fdV43mzt8G8/LvQrWI9tb1i9mEMiphNT7TIYC12jpe9WNSE6q5qHp 2l4igYmHjS2JoF72ze3C9SYJRqk5UkJf1Dv2ligfkeEoYTDsj2GGCqXKFwl7ZS32jENd vnd9lj74RE6ukYRnWfctm8i8al6Ox+i6WYuvpeIS71MLlsWl1qfhQcE540/07/aQYskL N/rw== X-Forwarded-Encrypted: i=1; AJvYcCVtKF0pogMDrKNFom5GICaaiZbVAP0zG93yzLqDgSCxB4SAwRlSJ2zZ7ArzuIoqxjAFce9aKsTL/ZYMgpM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz/xUfEBJOMf1FQoUC+3J0S9FkVqpnXUyxBsd63ydI7nw9Zj41v 8bss4nuBPeP04coszJmeMcQB6NAKJdG35QI2e4DU1M1ZQ23csdtMLZIQV5QjMm69dkOWJImxLBQ a0Tcbr4VyTS3x0JIbgRv25GdxWsYG2zDZReVf8vz4dxOvPyybOHSRSi9MKwOv/ww2Uks= X-Gm-Gg: ATEYQzwZXbBMnwOYSlksoesh5Vmgp3Wedyen6ugsM0WoXj0o8O4pWRWMU3G1OEXgKow FdM6hlPtjd+i9jeex8X842UkpHYrnodb6R+xLyCsOhlzOV4bZcvVRNiMHY2L2Vkgx3EDAi35JoT 3Z/l8hFNKN9WAX/3MCptaiaa4cKv0AGUTjxrMpMTWrrhFCyzimc4QSU9K20A7x2BASZzNa/IwxN clumgn6/CkFU7O/3JMuec4erPMJ+wZ3omJxfTlGOUlVedPsareyWaVq5yb5tHlM5NsWrA/i6PzW UpXNMeamJJ2H268dj0whLL9AeUPqRvz/g7mON8tH12DCrzoHmvaMzf0QONU3pSuyJR9HAyB2Jkp BdmQrJFxZua3t3rLQCi8TPCRfgcXyyHZh+r5kK3HT2uGK X-Received: by 2002:a05:620a:470d:b0:8ca:3ed2:175c with SMTP id af79cd13be357-8cd6d4cc1camr1440485a.43.1772747191601; Thu, 05 Mar 2026 13:46:31 -0800 (PST) X-Received: by 2002:a05:620a:470d:b0:8ca:3ed2:175c with SMTP id af79cd13be357-8cd6d4cc1camr1436485a.43.1772747191067; Thu, 05 Mar 2026 13:46:31 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:30 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:46 +0100 Subject: [PATCH v2 07/10] 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: <20260305-workqueue-devm-v2-7-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=GLZGLUI6y8mTC1CoUCYnqXy51nlJ9FI78lkz9mC/UlM=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmeJzlU8gtQ+4HiL7LX4Fy8K19t5RszehHhz SdtprdfKQWJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5ngAKCRDBN2bmhouD 1+uJD/9YHgJPFhEWQZRYuFGzeWe8z/r5Tj5iDNybutQ6RysEUkerwdr2pHTgfsRQ//1RBXmWi4/ cGOD0AGUW3fLq4SM0ozdgKVp4SGjHe5iS324Xf1SGuW4PJtLu0+DMjDrfZ9Kh1ya+NqtjLYuctz EwrBWEFLt253pIx8JCBgt1U9C6IW+kSFzgE0q/6wqJA4aWn75PrcCxhf2XrRd6gNe80PoXhkOmd iPj9TycFnCTENdm1LWjcEsZRyEROU5nbnitPogh3z/3ryvudV27PKHPdqL/LKiQpefeIln5miV5 ykVaKnRr187X1a0M6VOJWFeleyCQwr4MXqY4dHZnwAwm2mzUoSfV/+72TagqkdYkAtYsXcGEnp4 qwXZqkweTKfvInlQcX+MyS6503tvm1UMD6Q2kjN2gSX82uO9lbiHdSpFRU093QPrKuJupoShmdh c+IRyPPixT8vJaH4ptL0qsHeVwM+TK/12/SQ7fPsshy9snxcABFZ0LKXOo30Nt2gevOrIolUsGX PNGgDwpP5Mj32fue94/BZgfPd3GFsPgp+6L/76kAS7UKVXl62a9ZGQ/jZEwxiu0d7y3zwBnCiYL sOSc37AP/ai745h4xjt63Iu8AQz/MLguOCoJxLgCfbcrRpy1BlqgAR349lUqdkuRtqt7TOnBopB uVBAFJuWvfRWAFw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=I5Johdgg c=1 sm=1 tr=0 ts=69a9f9b8 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=3HoxRS3-ReI3PdwluWoA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: ebbUHkj2ATw7Zhq8JzxawvNKxatyT8ED X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfXwL4tNIc+FRXx C3vXtmFLFOASF+Gi+g/jWKg7Egr1htiRdETEk2HhnvoQbKP2oRwjJvJ/HL4Ka1JbAB5aX72tTAh wHAywe2gagfRbteDxfPf+88NEAC38nQ6zMGfAZU+bBoeF2HcBvJenhKX6g0N9ko1asbqLDz61hY bLDm/mN9VXiwMdCmMkEeuUpCicuYN3HEy+WOFX73BKXZ7p9oi2d5qZbMbJXylKRy8LP7713Jugu RmLeSomwD79brKeLXzfxLSI5390rkaqWoiXqYFpwKRel/+xBe56LCrx5H//7ZJ9KqlL2F0V5E7o wiSLKYr1ikikJAYt/G2WCXJaH9LLdif9Qx5hN6wUrIwPKdIhvDpawoV9nd6u5POe8AjHyk06l5J jctgB05rLxBGAv1snBS0ru4PS5l7Gv6It6odjovg801ZiK/PrpfCZ9r1nimfcLQ9Nz7b/kCAc2N Dqw+hRr28+hOSraQgwg== X-Proofpoint-GUID: ebbUHkj2ATw7Zhq8JzxawvNKxatyT8ED X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 suspectscore=0 adultscore=0 clxscore=1015 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Drivers should not print error messages on memory allocation failures, because core already does it. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- 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 24ca140d6a48..cd0520a08224 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 Thu Apr 9 20:25:14 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 D931D35F5FE for ; Thu, 5 Mar 2026 21:46:35 +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=1772747197; cv=none; b=o5u3QuxMeFzii9caRbrz1Xlg2NPuF9ObCzwoXehKvY4VK6g54C5YP3EZUo2gS8w1nnE4wYwm83HXptGOeijCrym4HDkPqmuDwDvww/W+fsL5tjA9/vQ5LtOFNoYPyGdzJIRGBbVW0jUSnWN6gmStbQm/6c7Hn34KH6SLQZesJvk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747197; c=relaxed/simple; bh=aBbZ3fBywOvpHZwjLuwnPh4cf1hQWBZWB8iOkYD1Dl0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aBijfaN4eTWbUTV8TEVfxw8OAfS+kh/YoappPPfbYt22W79vowDlF6nOlkGMUKrMhMbzXghZEJ58jaSZZDQ6EFAUVTOGv+WLqWTesB9H/n8Gy8zcP6uChxOcFuXt/8pfGWyLYGuEudZEfiYepFN15wvWR4Im86THkBJm/5ThkKU= 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=nr4T+3eb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EESKTbtp; 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="nr4T+3eb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EESKTbtp" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625Kn91S2269827 for ; Thu, 5 Mar 2026 21:46:35 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= n4xjjhrcSsGg/B56PKtYV9FcQh+keTvXc9MMcImQ6Q8=; b=nr4T+3ebr1GJrOG6 oJS1QoImgPAnuAAGCrayURKG6BxlosUfnXUwq/PWK6ywxT/K4BzCHSJlmRScuKc1 YDLEDC5EdgKDgnHIwOhbJ/ypifKbXb2fXrY1kSU4BqI/Xivne2zrKiU09upW9WEk hj8gxxcO8lu5OhvwP+/vBktvBJOdsqEsZ2M6GXGhPExJUogJ4BQCPR12z3cHFnqQ g+J7fjOh6uDcM3BbxgUZzqyeD5r8JJhyfVR6c5VcNNIFaFuyIrGZF1RpPoBQNJaC fxQ/UGt1g+KdbfOt/8gi4RDZ0HrqA1I61U2/o3j42lldLnNas1910ChS8YzrA/K0 OcGQZQ== 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 4cq380u82v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:34 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb4b8e9112so754413085a.2 for ; Thu, 05 Mar 2026 13:46:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747194; x=1773351994; 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=n4xjjhrcSsGg/B56PKtYV9FcQh+keTvXc9MMcImQ6Q8=; b=EESKTbtp6tMM2reRdIo/reE4m3Ha/MCYRk0jccHNxJyHWbcRnqMjcPLJjY4BHE79BU 1ydi4Fn1CmeKRygRjbmsh57sJf2NSW2TGJ40fVlrM/9TVxdajKmCDXR0M5t7OTzBxFo9 zDyegWmLcYF9NAks+mF++YvAwaXGtLooOLG4drDwlwewClfYd/neWqbcxPRLYEIDELGh ZaDBKdYg0+ExwCC48GhqyRuMurocy9F9MeUuGqLdt8Is8D0scijkTtzlldbwopPxt3y/ kn+WO95oqjxbkqYMJJW8b657+2Xz5ZbdH3P97Urz0A8TwF8YWuaPW4lzK05NuBzsTTKQ g1vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747194; x=1773351994; 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=n4xjjhrcSsGg/B56PKtYV9FcQh+keTvXc9MMcImQ6Q8=; b=eY5LCs84GrHzouIFlH59Js/cQeA0Bp7HM7JcxGhu4b3YGe24Sr55VvbQRP6g81CwgN lUFXo2oCPrj88qQ5T7RY4oy3VRKnBl9LWwOyIR8vhjaPolkYJ6wnMW/puoykPjYGkHx7 3UFyf23I8AXLMRHKsD46CR/jC5CaQPGx8Qqvkvg824H0PpGCez2pGpF6H0OTdEUfEqhR G84WQaxqPWNnLsxZ8WrM/DhShnmc0z40C2PCQTbs+s1dy+gLr22LdlGAe01B7rqRUG9U X+G5HRXCF5SchriUtU5f5Hh9v7fMMbMyJ7vK5qQHaQcnIKa4W4OyzOXGhaU3W/vC6dX0 saHQ== X-Forwarded-Encrypted: i=1; AJvYcCWCMiMNlFTNZUtX8AQvEP9yGW4XOVQsNy0aLVNEeQCj5WMpXv0BFGbTKR7cZW/c5wHhj3+oMe1GQlVkTiM=@vger.kernel.org X-Gm-Message-State: AOJu0YzqLg5IxWPoeV9XsZ2E6GaUDYVoxJ9WzNBHFDll3qSJBrWCB0te Miqn8q8L9JPXubUKOeN3sdXdUzIln52fz6v1O7+y5x0wuRBtbNJfY0rdtCUxIpaqKqmkt0AlNVk XhgdvzfVitt5JY5i5vyphW2C5HQWNUp0q5hGgQzvUsUda+XOEVSHvix/FKLEJM6c3zvE= X-Gm-Gg: ATEYQzxsFkpIFAOkJrISaG4P2/t26mkNXhoc6uVH8Xmk02cuoR1KyWPAXkuFUTbeFT9 xu/kVWURUg7u2tFloji8hURGdzS19mxFrMZf4vSZ+GlicbyX/PVx/6wbp1jO2Bc5tnyZrugUOls TVJno5UmDwyUQFzjEDoZexDjJ2TURYxLqQRenIcAPtYTm5iDUdINClX/VIP/5FXbANWes/EYjzJ bpLwYwCQhEJtBidm9f0JiHEA44QTy//ubVW+TweOcZxivtev3Ha05TledlbrFWMHW4Q0wma2GbT LYDp/V3ote/UVILrLgG7JUAFf+c5qEyDhlHpSgsKfL/h+/i2m9ZrGXPaOm5qQ0nLPIAEY9yrkHG rd+yW03cM+Gb12/2t3iZW7JVnqUDoRuTm3OysgErVyRHt X-Received: by 2002:a05:620a:2806:b0:8c7:9e6:3a72 with SMTP id af79cd13be357-8cd6d31f36emr6488485a.6.1772747194117; Thu, 05 Mar 2026 13:46:34 -0800 (PST) X-Received: by 2002:a05:620a:2806:b0:8c7:9e6:3a72 with SMTP id af79cd13be357-8cd6d31f36emr6484285a.6.1772747193616; Thu, 05 Mar 2026 13:46:33 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:32 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:47 +0100 Subject: [PATCH v2 08/10] 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: <20260305-workqueue-devm-v2-8-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=aBbZ3fBywOvpHZwjLuwnPh4cf1hQWBZWB8iOkYD1Dl0=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmfZyTBQ2+zfg1PVbm//IV3ttzRuDFXfJ09L Fi7SOtMm4iJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5nwAKCRDBN2bmhouD 13yRD/9atq9XS2gdzOD4iwNE2NzTH/fSxgzEasdtz+9zZKfFoTpfnxFWtJTbN7SumZgig525A5R VdZmzIWGbcYZpE3xAn4xsvjLbNB8/GeTpJ1kt8T1rcPPpX94dr5Ht/K5pRdjnVycWFPiKJXtfcA iRY5/XOeIZEhXpU7ClLZTrejxnGjsURe8r+u+LlmWrGlfT4VYT4yepmb5E8OIVDUXnlKFEepRKQ WYPZ09Oyl21MABeuojbxhRPxzoA/jzjdLe+iCBVzlFihUMfiFrrWvfX872J1GXClSLlGaYFGLeA VYOoHJFuO57Q7+4oULKXpzkUTIexLmRp3dGkkprPpzpR0q6+gCsLVeSHJfIl54kgDeKlSJVa4tP 3tx68crLjDIkHq147LN+7Nlv1yacTQ1Drn3PPXGsOwNHTmOkKt6eoO1tJSU8dItyVB3VdAVUtW5 YLK5tSgOKhSGndBJaJennrnsayMckl9rhJer7AXlC+sKZ31Ii2uZY9DFB4tGUXtmtDRpX+Nnw1u mTECOe4Qt/1YAn962XvbBJjzoZWliJdxuREn2dZiFlamnSKzxS8Tk9zX12OJI6nHFFiZNZESZ3L 13YIinDTo1FuLh5Fosug3FzrBQlUb6CCIR4714nwcgAQpBhwwMlKDWA4q46CeQ1kxUm2ocxmk0m CC5zMWv80d+IrUw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Authority-Analysis: v=2.4 cv=I5Johdgg c=1 sm=1 tr=0 ts=69a9f9ba cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=VGyNsPSQNFFz0_f43M8A:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: QVtPDcEsdA38xaUMU0_ajJL8CFqXygF3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfXyMycjqr6Y5KR QC4y/HrkoNZkgTBluQ6BCPMTYIrBJiZ7MCUWZfb3+WZ1cH9rU/8HZRu+b0dCL7Eyv08y8Qo6Tk7 dM/HhQ7SFdqDH8xQt3y5mFJdksd86VqQBekf1SxCjj3iHNQvJcqpFuLAFIZ0UEIoB95DSPv62Hl I7z/F0ygOvWWmSc51BwxUdKV6J/7y55+jQLF5qtYBaopLlxR6364ZAjoAH8vX/PsrSKjbgrbZH3 HpRmd7JiylNFWhpwr+Gr8OQVze5FYmWqdKNO41wcqQhPhLlK3nqmOINm64vk0m1Uj5QETQ/tcOJ DEaCbthR2+jhlW++YYjCPkPMOaxG/6WmGZPYT5jrCdn8tjCmMoAtj8cdtm60dRjg7WCF/MuiLyt XVMud+ZM7y3XT4sdtLZVAhTkUizeK8z0nMZKPvOsldq/1nNBvtriO+hUtt4QL/jC2bBKoflQMx2 k1iSz7hom2gu6uzX/0w== X-Proofpoint-GUID: QVtPDcEsdA38xaUMU0_ajJL8CFqXygF3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 suspectscore=0 adultscore=0 clxscore=1015 impostorscore=0 spamscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 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 Reviewed-by: Andy Shevchenko --- 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 cd0520a08224..8e51c113a320 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 Thu Apr 9 20:25:14 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 2863835F197 for ; Thu, 5 Mar 2026 21:46:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747200; cv=none; b=cN5KvBU69p+VVgFwLclJHe5lgqEFZMjSlmuKk14u5JsNNdcwdLc6/253DqatBfgFBjnlXSVAI7JQqSaCTmmJEVajIxAGvL8dHsqY+yv7/qds63sfHcUaBpheRanmwknPxSH6fohkUDMyH3IeJlGaXsI2UNNMAjFlHTqgJn7DsGc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747200; c=relaxed/simple; bh=8HCvYehjmNIH+BlrLf3/jZA0T/6LceXynB2MmBf1YZo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NX5+ndZ2wIHth2su6TJy+VQ7kklTlTYvDIVdlMwwycDCoVH1GgGWJ3l6mRmGiV0zehrVAmGx2j/8eqlAj2Tf5WBqO1B5wdr0GKN7u2NKdgQyie0c2BP9GGsA2aDIaQXrrR9a15qd2KbjS6wCxyclivoe7kcvQJ1K0znHgfn8R6c= 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=kTDsn66d; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=drv814LX; 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="kTDsn66d"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="drv814LX" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 625KmYP23136513 for ; Thu, 5 Mar 2026 21:46:38 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= xF762MP0D0x0cXFJ11pLhifB9krYSxT1GrxhCZLRMoE=; b=kTDsn66dim843s3x bzoXPIj8EMMuopwYjRQyxsAK0/F0JrLLNjwqqwjHiYKYbhwfPNhqEV4WSOKJTCUw 8oRKJBIWpwqKxNHZ57CpnugwbQWqPa5aSY2ouGRwOTL8lVMY7JpN/Y+1wNYXwsZk q/ZtWA4mj04NpXSgvJwO18yHZexy5y1y+Tj+Fzp0aTNXH93IRWMLAetDFFsYR4U2 Hpbx66OeSEqYiZt20rz+ClqHIZThDHpoZ3Ovg9QCfci4I6W4FyKD5qPoLWMoyLGk x0hL5k9uvxjBs8nNVHiSI8VkubHB0rMzXHqth4SYLMXk9Lp7OmDgRmKB3vX5TH+e YzxRLQ== 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 4cq1pk3hxk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:38 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8cb3ad1b81aso1091144185a.2 for ; Thu, 05 Mar 2026 13:46:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747198; x=1773351998; 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=xF762MP0D0x0cXFJ11pLhifB9krYSxT1GrxhCZLRMoE=; b=drv814LXIGvJvB1mTvipEQx1WTKLx22s5Ivq+NpuJtqVqHoDRUzGV7atzEMkheN653 UqGe7zeckdGJOY5SueycK3pOUrrOQooFgeh0+pXI28rQ7wS4A0KvNRnm/1D6NKDATKtd HJtFa5mvQSIBRg06e5O7jNywtM+NayfdHvPKeJq+sM/Ea32j/cwK0thawCXlPe6jIRed IajGYbVq+a4OvuEGYqMIM1zTiB8SfGtLz+50ZAlWxInzyCHNqwfIyZuxFVSLPCcIU8RV mSNRNLWSV0uauK4U+xQvHfL26Ko3qZtkidoJWfphj3+sNuBrri09NvJA+t1Jv0Y7LUWr 4cMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747198; x=1773351998; 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=xF762MP0D0x0cXFJ11pLhifB9krYSxT1GrxhCZLRMoE=; b=rNg4HfISkGn0BSeEqK9WOi819f1iguRXKKq0tjIxbTmOpMU1zI43aVfsRDqkOkPKzE JnDVo30lLqnNaxeuETQnZw/qTGShi4ggVpugBGi0S+bCC8AJCl5waAISf3Pkfd8rdMFl ZSt+cfBRgulbB368VLnN33GScA6qjmLEVEdHrUUHJuaFItSjNzP4/p73vAOStOUH5Fx1 XK14W7eIwapKSA0yBbURqrAVN5UeVr33CzzyU3Z20a7RcqlVcvf92sx/K7sq70h68x+O tRykijTLyzNK2xWK39KS0tljX1E8MmmJlfyELwA3/0FXsZkBX+6NkuvVEcPf41TLiSJ5 myEg== X-Forwarded-Encrypted: i=1; AJvYcCVnF5lIzXt7QXGiISa4ROcy79oeTyS5HxhJd0wG5z7C5+0sTvAFvjaW3nmVGh/mZd/XvXJYCOgijnesdhg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy306ZeAhpotzkhI4XcjLpIgvDdqXlWX/m+hihK7c5ABYV74+qK C4ka4DL3D0Mm/o8n2kRssavIBaWHrjLs34lKX8rh02gWkjc4kq6QGSAjA6nDH8n+GIFgZd8YAo7 /C4bOijAiY2FQftsCacQG0LsWqdSMTjkO13COEqxQLPX0r3v3vZJJGU+Hlgfq7prdkig= X-Gm-Gg: ATEYQzxopjxNfCxqLtDhuvoIZjI0UZnWoATh5JBdvbgUlYvv+7xa63J6R8IRpRWdhAr qNSx5u3QoO/wWqzYyI4vJdWCmZP0jCkD7SXK0STv24BA/Yb3CxsV+IEH+WBT33MJjb3fqKL9tPS RJoO9knoSNC643mNmEjNXVDzgT0Xz6gDKK1vSyXq/VRnCaB+bv/9d1wtZ3xLIYYvTUFEsxU8d/z hteZGfuucTqi6fuYhErVIJW9M5T3kadtixEWwgJ+4wb3OTC2cC9MN23c/G/H6Dv/iacayxNZCAv jQkvlMQ2CQL6hLHTh94FOdDKIHMmnW/E/ou1TTadnxvezdac3a++CHbBjFQzZrY8AjrnPebAtKp M4Zx4O2HDMInUTQ2ie7cL6wXnYHsDW8lOessHI/X36jgY X-Received: by 2002:a05:620a:4687:b0:8ca:3fb7:2570 with SMTP id af79cd13be357-8cd6d4cc0d0mr1698985a.42.1772747197594; Thu, 05 Mar 2026 13:46:37 -0800 (PST) X-Received: by 2002:a05:620a:4687:b0:8ca:3fb7:2570 with SMTP id af79cd13be357-8cd6d4cc0d0mr1693585a.42.1772747197119; Thu, 05 Mar 2026 13:46:37 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:36 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:48 +0100 Subject: [PATCH v2 09/10] 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: <20260305-workqueue-devm-v2-9-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=2299; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=8HCvYehjmNIH+BlrLf3/jZA0T/6LceXynB2MmBf1YZo=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmgTLUiHh6rin6gIR8tn/yHPbJ7keLcVF5yZ GGBAe1ny7CJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5oAAKCRDBN2bmhouD 1+A1D/46IEOXU4c7rCB302yiUbZqrN3J0Box+FRnliJ/p6E8EXiDnmOg4obwzDlEUpFEf7ibEyq GYEw9cFAKDrszgDdGRbIFVYHr8RFOirL2Hdrl9Km81dPKqBQLXZQWnvAIKZe4uFGm8rDEiTS3FV gXubYix78Obr5LtZTm+Tn3H4VlOmRf/a1n/SAYakf/wp8btHWAgUY7J9nNAMK2Lbwsc4nzYJoHi vZbjtyC/9Gclm/CRe1O8vCpyJktvnNgAqHtQ/jojtr4XybHQF965vKIWwvLvoJBrhi2yylmf/EG S8CxeogMKobJs6UveopZ0d5TANJ1DRYacznxvzG9KA6g6X2xQKhxgYl480SHuTQMwdI5ygPt58U YlxL6+Ij5kO4Fz14qrhXHTZ40edvx0sQflZMFPcB4RVEyHUSnt2upCd3xRWA+BtmXbJ3NVnN7YE 7JHqzNSdItYNG4lO1wHyEOQRHGJ6KLMq+xqetuC7XXGt+e2iAroOx4ODQ1itWBm9mnLq0brsQkX aZkgptRJCcNG6nj6JfVtXI5u3cZGNevrxo+gGHIhTsR2iQROE0tCQbAzduBnKIEtq3Pm4AyCrGB GzbjoRK4ad8uW8GvCPBi00G3EXVvoOWPBuOLeQPVp8BuTwkTHYs7DVw1wsrnE0aEKQYge+pTQo1 a1ws7+4oKjEY6DQ== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: Muan6iyB8ODI5xWIL-D8PoKzUGZlLOFB X-Authority-Analysis: v=2.4 cv=Gu9PO01C c=1 sm=1 tr=0 ts=69a9f9be cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=3MYFky5D01qQmCoSdzEA:9 a=QEXdDO2ut3YA:10 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: Muan6iyB8ODI5xWIL-D8PoKzUGZlLOFB X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX1U6thQlQSfYR 1MRfbqw3sLX6Y8fjoxOUkqrzLO8bIvbo63nSteXEE+2yZZJXNqGxjEhJXLr+fGLJOcGH4sHMtUp AlUILOwkbl4fSrVuWKhMnBzbiGcMj1Jfz3VowmHhrLWPfXAPPz7WMg7AKfRp7lLbYSEXX52B5Ba EHMWrPFBXUCK9zcJFIyK9u1lbVOybjTYo/Yl9wfJTOihuj1f6AJViU0tqcZwKL08mHaR4B2h3La v8NAh5SrxOPFQAi6O/pZjpmk2CKdEfXgbjrhzPICPbhzDsy8xrGN8ZXdKU7KoXVVN/Ffgt8ePMr 6Quy9bYd2tPZPst7iUl1X22vQttyyNZyaBQnqE3FsLsh4PbFKpiUcPNlLK8Rolw2VM2SzRbM7UG F7nqjgmxCLjHiAoE4BBiZMCdKdFEyaD1l4HJtBaJROG3iwDiZfqzxXHKrK1gYdk5qXkVUWaZHg9 Smi04ZH231Sv4t7OEbg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 adultscore=0 impostorscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 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. Change is not equivalent in the workqueue itself: use non-legacy API which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is used to update device registers, thus there is no point to run it for memory reclaim. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Andy Shevchenko --- Depends on devm_xxx() from earlier patches. Changes in v2: 1. Use devm_alloc_ordered_workqueue(), mention this in commit msg --- 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 8e51c113a320..9a685ff8cd15 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_alloc_ordered_workqueue(&spi->dev, "pcapd", 0); 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 Thu Apr 9 20:25:14 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 B9DDB35F18D for ; Thu, 5 Mar 2026 21:46:41 +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=1772747203; cv=none; b=mgFs++YhXSsQiDjKm+N6SKwmwYJ+e3Zblphc9y94n+5JMlYFsG2GrUTFt7GIKa+cSN3t4eD4KUVsxCvByRcyig+M+phMWu2o/ZXU8RZe+iEYfsyuzXkJUo/oJX1yAbJnLlgVABzEy8NXRuoAI9T/BAPLzVSoH/Kz6/WOlyQyP7c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772747203; c=relaxed/simple; bh=KKE0bInc4S8yLhSPSFu/FMkb8dRGE2OpkgkDbv0pcmo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sgPC1uxt/s3D1ubAVmMLTNc8jVaMKcx/g+8v66vQnBSiXx3SCOtdluffYa3DogLu6wqlWn2YaRc6dGSuHx5MkF2WIumiRC8bclaCyoot4LsHwJg8eYwrNfFf78SbAVbXkftbnnaTiKDC1Yx6KZry8qW7VrZ2lC20u8acKFx7Elk= 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=bvnfZbaa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MrD65KFv; 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="bvnfZbaa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MrD65KFv" 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 625KmZwL3725951 for ; Thu, 5 Mar 2026 21:46:41 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= pgZIxx9eLQfleV3COI3H9DXbp3fax2/aDjoFoxNcevs=; b=bvnfZbaaoSTnNtHJ QLu3/Je1kxQ2NwEeQVij7O2D+9K1jEBlNqTe7grsTCNYOGAuAFRocrNLDemddCp+ Brczs2v4ky3Pzpq7muaILKAVG6pTtyalgnmT3S1DUowfPFQJ4RZhwmtKxUFKPvqa QAKPMwPTSE7joWXqNnYLCYZjwGydwEsJBakCtU8ayRP3foURvgKRM0pAAHf9DZBQ /E+3mKo+18ProDWtpfS3nFk3garSSlTFjVKU/3Zv6adS42u6pekPj33QYBrQMTMc yIYg6wMPkER/m+2G2NCIONv31IYeS4v4V96I6mxI7g2OmpuX4br73S0vmBBDK7WN 5uQ9ZQ== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cq85dj4jk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 05 Mar 2026 21:46:40 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-89a0796368eso233072656d6.0 for ; Thu, 05 Mar 2026 13:46:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772747200; x=1773352000; 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=pgZIxx9eLQfleV3COI3H9DXbp3fax2/aDjoFoxNcevs=; b=MrD65KFv0RZ8ObkWmHUWGfgrkXYa4g66GKb2tbIUWAyXYGawwy5+/29FdpR7MJE+ow CZ90oaWWRvzYqsMmnP6WTwlDC3Fya83AVzxqgY9+K1taGrd8pyOF8EMZ2CAfblkq5jBi xXckyAa59wDQBbZ2EKAnDcjOSmN4i1ZtcwKgPe2+PrVglACJyv3f+twWRGyA58JE3Z39 vJ8Qm+NUOn94AC+bwvk7BIeIOKL5x/BhvLFEIPz0X+WTtHSc2N9/bjh9w2xfuZqhezJU 9Ow0DWhK+we727bwA6NPFr27xm1DNizbEx/l7EE3y4LKql9X8yACvxohtctsS1MJsls2 EUWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772747200; x=1773352000; 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=pgZIxx9eLQfleV3COI3H9DXbp3fax2/aDjoFoxNcevs=; b=Nezeq6b+wfUV7gWNQaqQ/rMXdVjSEon1w8PJxpkaibFitQyQtWJaTC3BjByFGdHoQF N2jac7rKjZ6RLv8mTsxR5E96HIiLdyFn8izmbBJ71b1ZJpJBKjUbl//b/VTbRmgXnYFn XFXQZ5eu5AQ4/olKleU0d5P1+YRxBuOFtWnAstNWHZZYJDT91v3nizXBSIHproqglb8S bLDRGh3MfE1a8LFcSkmkBCUb2lpj9M+gxke2gMNIOaVwcTjpcIyHmaienL/740F/T4eq 45SMNn+QLUt9OCmWSIf4mepW9dPQgx8OR+7UVUBh8rPcm35UqL43WUn6oEcOD9u05mfd 8z3w== X-Forwarded-Encrypted: i=1; AJvYcCVo8VRqOn2cIwHZ3WXjSKqU9cyF7YsTKECrHV9BK2orxelXhq0VeSXB2HtJRw7jYbnh0BoaRWbL5C9gegs=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4dSlf+xAOQeO9ayM16f0/7CKwPK9O3nv3NUxAqnytsoQ1t6P8 JQ+J2bzNGNYsj5ZK1L1fRCU5ZIsKsMTx+umKlHHXZZlCsPAzil+J19KVXnmWbVhuPQGONUUQ6LW ZOhSbkcqYDSxiGeybmC5/U5FPewimXPBBGneaWfyyA69KnutwWRvp8+MwjKXRPkwCcvI= X-Gm-Gg: ATEYQzwkDhPu1hfFKF/O1g4ZqpwItRHZM4/Jdm0FpXd0LdWSJUcKWqJwOzrFOpiQ4Rk XQflML9/1HcwDem6JI0FB4cH20SWIn+6U2JBUkGcmRzJui4fW1E+lYZaZlKigz9yLWTF43IMShH QAzvlEMoLLWRSCWYSaX7XIjuCxriVqOYcUT+C3qndc96GuMtlzv6Q3OF5/HUg5UOkSN4t3uaicW I1zY2IbOV5LZAFr4Vizzr95xlxUG9E5sxXcMwJR045X7/9uuBlUEKQliiQgAFUuBgsm27IlRVtE iC6srxWeLRhC2Tdaietx8OVg4Wd+H3CDgZp+BwDgJLK0rEPBqfOEmi1e87l0WolBvunfHej8jFX lojs8NlbcLnaHBlt5iaybTa2KaXkQelLqvlQiE000BPfh X-Received: by 2002:a05:620a:7016:b0:8ca:4288:b168 with SMTP id af79cd13be357-8cd6d437779mr3217085a.42.1772747200195; Thu, 05 Mar 2026 13:46:40 -0800 (PST) X-Received: by 2002:a05:620a:7016:b0:8ca:4288:b168 with SMTP id af79cd13be357-8cd6d437779mr3212985a.42.1772747199687; Thu, 05 Mar 2026 13:46:39 -0800 (PST) Received: from [127.0.1.1] ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439ba2a58dasm28571575f8f.27.2026.03.05.13.46.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2026 13:46:38 -0800 (PST) From: Krzysztof Kozlowski Date: Thu, 05 Mar 2026 22:45:49 +0100 Subject: [PATCH v2 10/10] 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: <20260305-workqueue-devm-v2-10-66a38741c652@oss.qualcomm.com> References: <20260305-workqueue-devm-v2-0-66a38741c652@oss.qualcomm.com> In-Reply-To: <20260305-workqueue-devm-v2-0-66a38741c652@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: Matti Vaittinen , 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=2676; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject:message-id; bh=KKE0bInc4S8yLhSPSFu/FMkb8dRGE2OpkgkDbv0pcmo=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBpqfmhjGldKQP5o21zPRfDRDP+tGkXe48E0j3pE 6xnUGNmWe2JAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCaan5oQAKCRDBN2bmhouD 18WOD/4v7VpFEZzjp0sl26+pDvHQyMyN1WAQj3Vsl3sQmb9jimlUvI1QOVLIuvMNOKKBU7VTVZB P+9vnO/+LOEYm89+Jr59jeey5RNqtDUlwk2VjinTcgW2sqYZiAMYQEOdehNCahgQCwBHX1eOkQo Qxytd1zdJAUblIz7+q5TfeXZ/WbOr0rLPKZUlMIOYqethUDTLCz9kyCCxeE3G2JpWuSxcEMBExd /ZWbCbxe85dFWg4JFCMUfH3N4ZaZPsBvasQLh0BRYusq6/7d0KrqAVxbe5vUA66X6MT/7I7pEDG /BDpfmkyMAG/349ekOnqQ9sZ9wMNf5b7acHa5NBm6N1/td0khdgFCwWzK9/UZ6YP/8MllnhU5vI 7cBRVz2rR1eNDnpzD/SsRRKpuFC3BAM2gEuXzTPKSEfhfa4rTnvfHX4LbjDUpB5lPtm3KBJpTmL FQsF4DyfRnKSCZ5OfJd90X/TW8sjpSLe3JrRdwFjPjgfWkwfMFa9kU5Ut4FdxGSOz/ToEOulLx5 atvPr3JE06SlX10hhzkWmxgRBYpg0OJV9ov3R6evSxpSrJ96YndLn/2uttJyh2avyAbNv+T2hQg i1Ar+ZOQSn+81ns4U7+yR/vRmmOZSXetZmXHbbY7yQV7i3GRywDQhoTIWPvUqoZMqyYJOxLns+l HZeQV+6JaRutfYw== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B X-Proofpoint-ORIG-GUID: YahGeTTMaQWe_PsrihGnMQSxMmCCIcgE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA1MDE4NSBTYWx0ZWRfX1K/hJiUGIksf hh0TNPyXyR3AkiQWjS+v+lIQ4/OHrYB/8t4gJovUOQO+6qwbTPZAUH9Adhhs7ZiRPKEf8Z443bs mDe4c6YmfKoIuep02abazLXotbt4OYQgS+1JkXv5wtJWO0NyWobzmHiqEk2S1fsbgnKXHpkK2/a wWoY4/aXn/hvV5+FgqzSTLmYO7qBl9CnnAgrDfgH1L8H3aapY366LAtJXCOfrqiV/Es3vNJp/OD eRnDmN0BYsWQlcS8vTO/laXB5KfVAxVFz4jX4RvWagAg4HQxoPat81SG6Elbmjgoo3u2akR8yAC aW8SDKZUl8KHjdiZjxh3Q5TF/JG7On+MeYnZsXfFkuzaux3YlqomFKk7IpGJrsvTOQPVoCIgzdg mVjhPCDyHfwF645R6mlOW4mHbnyIapbFpaRWchg+gCW7WjrRbOEY/mQXzuSU+5jrkY/Iv3udBjg /KLTwqZOarco9QvnWDA== X-Authority-Analysis: v=2.4 cv=aOb9aL9m c=1 sm=1 tr=0 ts=69a9f9c0 cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=_A9l7huuyFcfbLupPaEA:9 a=QEXdDO2ut3YA:10 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-GUID: YahGeTTMaQWe_PsrihGnMQSxMmCCIcgE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-05_06,2026-03-04_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0 clxscore=1015 adultscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 malwarescore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603050185 Simplify the driver by using devm interfaces, which allow to drop probe() error paths and the remove() callback. Change is not equivalent in the workqueue itself: use non-legacy API which does not set (__WQ_LEGACY | WQ_MEM_RECLAIM). The workqueue is used to update logs, thus there is no point to run it for memory reclaim. Signed-off-by: Krzysztof Kozlowski Acked-by: Tzung-Bi Shih Reviewed-by: Andy Shevchenko --- Changes in v2: 1. Use devm_alloc_ordered_workqueue(), mention this in commit msg --- 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..d343e1ab6f08 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_alloc_ordered_workqueue(dev, "cros_usbpd_l= og", 0); 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