From nobody Mon Feb 9 01:20:54 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EA8719CCFC for ; Mon, 5 Jan 2026 14:16:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767622572; cv=none; b=Pw1Q0ND+zBT5Qnge9vqLzfe1sCsQTKJ33iScjitvSnVxmwNiodVjEU8g9WbQCHuFW+0Bp4rMzXAyWBudYRCXm88hcxcBzWsl+gZ+LwJLYlR/is/H1Bg83nE4neuzwZeCR93fXT4/EH9AZAWPO6IUOmzxHydIMAGCOFezZRo+MpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767622572; c=relaxed/simple; bh=Kg9ksXZFQd+xZ1byCyuHlZAAV8BRvOwTScgwUWvy+bg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=heJ8PmhjLAynAzDPp9wOBbixY6xUeUBhaQ2o0kKoaFyZ6GmtUfV2pspRUWQCh+xA2psjZ+exAVoZ0hqqhsJf5zFcxJRmFypU3cMF+TfV+QWXk5Wn+QbT0YWIs1VH/VaECu/ICXwyeWdDQq+sa7shdl2mwGcIrOXw/KN7TFWZlLE= 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=ST1s4ga7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MpqzRN5s; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="ST1s4ga7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MpqzRN5s" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6058Nlr11058794 for ; Mon, 5 Jan 2026 14:16:10 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= rC2w4egPB7MEzkPL+olONP9Ww1QL330+SZXANZAeLVY=; b=ST1s4ga7Z2swYaKO 82ab5/CjH7gN/1WqGYvegL6wJzyrnB79nZsfBZBp/FMwUCEx6UbNsz5xDrq3b+lh 1g7yIQOVZadzsGQmHU9gfVG4Mnlrq1TAlnsNELlFeCe/xahIb36eved227mVUtwo /797Oud5mBF/TA3PZbFCBvjNlwcGELUoYvfzwbAk24soschdt2HGY8wgDHW++B7X WZ6Wd6KF4C8NgR79VxkVhxMjm1ckwrBWSBUmDx1ogy9YOahE4TfSpGuS3YGIbTFM Uqy0//l0p+9Xwpju5WtUm3n30/Sxg2Eikm3Ei/Mlp1Yf43fdfK6iHtFiAEcjaHTo lNJrlw== Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bev9hcnpm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 05 Jan 2026 14:16:10 +0000 (GMT) Received: by mail-vk1-f197.google.com with SMTP id 71dfb90a1353d-559597c717dso30518583e0c.1 for ; Mon, 05 Jan 2026 06:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767622569; x=1768227369; 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=rC2w4egPB7MEzkPL+olONP9Ww1QL330+SZXANZAeLVY=; b=MpqzRN5s7E8ZwGlqAeofhYNaqcd1FwA5cwBBjdqYiq8MOu/c+Bxr7jNcDFQ8pdCKIZ SFn6+fQ05Lr6OoxV06PUh4R2jtQ+qjvw+j8+wW6+xCjqn/CN8CZXQFyPJNz8CLpruqsA 3umemk9o0S8BVO/2NdZ1QjqRNzZkI+JQU3RL2kpVKhGTCKLbHPuqq70cMqOEZP/TnMIA i5Wa+LhhWdN7lsosR0Oedg4LPqz/kVtJ2w1OedxKy3pAIhigKILoLgKt7SJ/P6bn9fHq 8HOVSkz5GVdEAVMrQdTNZveW9xPCJ9dlRrFOjliEZ+6FIeTfiddfnDzGIh+B/wjbAj6/ CBuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767622569; x=1768227369; 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=rC2w4egPB7MEzkPL+olONP9Ww1QL330+SZXANZAeLVY=; b=xIvyk31M5QxKjVt61mcy1fSnVkUKblZGg5XkgwM30iO4Zs83uHXKlxQ0D4buwHRjrw XH1siLE1I0iAyb3v+hTbnZH/1Uf0XMpxpZsE7x39ClmTD0wOK5eMdm7uMh/88y/XvAC+ 6T0FCQMJbYIAbB1aCdvRKpPvRzjwvN+S6gW9zJBGnyfkVeNU7L4I82hduGo4OAzaiv/J YDn/CBP/YT+nAKCGShTqOgpp1JE5GYJdNPDSc8t+hCH3JM5nycoAWx89O6SZw7uOzJYI nejy02oDOFhIueOPeR5hA9Z8s6q2j1hUE+CF8qMeysXZoVzlXZSSf141uqno4YqUZn2u euow== X-Gm-Message-State: AOJu0Yzq+pOjQ/bUDUcrFZe604MD0aVWgVin9jFLsW5/ekCCRzjGDlAj PZ9v75uj4JH1sTqLR6SH6VV8Yp6Sm4raTDQ/M5D8QEWyJXAxa8NT4gqbfA+/pqGJb6nSpDQkAwZ WNFR+jeoyi48nQWZmWXvtZ5h8fNUM3lZAIXKQ2EAmPh83Dr7IroVnkXyyQMKsiSJWZaQ= X-Gm-Gg: AY/fxX5qcVf7EzzQb7D2vAee9nMuIw4ABc/gWHBsXvrBc2zIj7UrCgug4/n1nAk/WsA w+lYog08EbLHbcCzSdzxZAsuYMncsaIAsFVUMbs9bhHlHI1F9S9LmF5xGJqTAPeuS4BC5MS3+kf MZ2qXe6C+u/vD1ErD7eRD4f4DhzPA9pYZw6e4wABmqZVhcviPkg+fBN6DxRqTM2pEmHGH2e8WHe mVXq/v3ryRu7Os6RwduPnuyCVdqrHALzjDv73lHhLeSvtYQk8JrFIoSFeyYzb+G+cgODNHxxlpM q8wvmvbcZcLxPiGYXyyuMboxhe8oDF8YLUJDgcdbU9/rU50js3FftUwLV5YygYL1bii8OWGXcLT rmzToxWo49XO0Qh2BYv976JcRSd+11MwbtVypm3c= X-Received: by 2002:a05:6122:a1b:b0:55b:14ec:6fb9 with SMTP id 71dfb90a1353d-5615be767d9mr14474539e0c.14.1767622569166; Mon, 05 Jan 2026 06:16:09 -0800 (PST) X-Google-Smtp-Source: AGHT+IENw6JlYhAnnEPi5lbM3pnTl9d/UCXCXxnTZMjO+KfCEA5elG9B2QYOlQOcS21PryrFgSyyOg== X-Received: by 2002:a05:6122:a1b:b0:55b:14ec:6fb9 with SMTP id 71dfb90a1353d-5615be767d9mr14474511e0c.14.1767622568786; Mon, 05 Jan 2026 06:16:08 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:dd3b:c635:dd06:9574]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324ea1aef7sm100774703f8f.7.2026.01.05.06.16.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 06:16:08 -0800 (PST) From: Bartosz Golaszewski Date: Mon, 05 Jan 2026 15:15:25 +0100 Subject: [PATCH 06/15] reset: fold ida_alloc() into reset_create_gpio_aux_device() 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: <20260105-reset-core-refactor-v1-6-ac443103498d@oss.qualcomm.com> References: <20260105-reset-core-refactor-v1-0-ac443103498d@oss.qualcomm.com> In-Reply-To: <20260105-reset-core-refactor-v1-0-ac443103498d@oss.qualcomm.com> To: Krzysztof Kozlowski , Philipp Zabel Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2942; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=Kg9ksXZFQd+xZ1byCyuHlZAAV8BRvOwTScgwUWvy+bg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpW8eZZq/E9GQEk2trYCLf4xcy+uNhpibFdtfXu nUReFxM8CWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaVvHmQAKCRAFnS7L/zaE w+5qD/9InjuRfLikdc9NErhUc51souxh9Ua8mccFxFCYUygfcuRl5ejoDMMAQ3VWU6onCPxcS8v wqj2ZPhRKFY4HC6N7jLLxFq2nWvbyrEDYbNfeiisOP1zBTRBwWOGyb52JhONO+ZvXFC7UgH3zjo Igd4dC6MJdF3dapxIglTfQsVgkRvYLPQlRlE6xXXQGPuxkHOTLZLU43ura1WuFB2fFdRWorlr+B 3qygVO43hKJj8FKmhL53nyz2pQFvtjWlNrIsB2RIvI4N9e1gcAPdLqfn6k+UXBuK0zEiVs3KhDT AiMF9hR2JM5BkMWmn6vU+wuEo4OsCnVIKlY+lRy+aHVJMEg2MdM28ifwm5WenZ3QB61qbEpWrM8 ZQsgGrdCVi7l1maeG1yaWY5q/MRtfm6AaZVfIw8Yt/qJKoYdCyq+KvWEzg4rl87+9TgYQm9bnlB 04hhSZpvRxHTh4rry2BCz13WBD7gxj53L4DVECL5ApTcvDVt3TvasppoBJDBhgTUitS4p/KLJmt dSCnTPAWrVwRKyVhHR3yGDXP5iY7pZCfyx9XKBIfBidX0VG2bg+jo7R+mC0zHS7irvLjhrdQ4HE M9cE9w9GZeXtjsBz9biRHzgUvdHm6E04NU52Kn5bFStBeBkS0kNcGV+k6haLqUOE/cszWWMh6rO ufOMI9CubLCqjBA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA1MDEyNSBTYWx0ZWRfX1ksS4XZ0NDVY narvK2/HMlUidqbZ62tbn6mr+4RL1Bm/U2M6uMkyaWkVMOtwjd1H7NROku19mSyqIMtX11mGx7y OrPYpfPHv/GPZWZwA/NRn0NYZOjVLnqZIIPZg14WYQmi1vBsRPWwHwiEkBh44BIbThVyR9qToSf 6NCdhDA2IMp5UgDk97RAIsIgXxVHgQR21IyquJhQQd3PtzqTSIbrm/gZegdtLo+YpTmdSdFnAuM fhve1DJge5U7Q9zCBRenNfCFmllrEHwDhTp2kjkL/eB5hJ+THVkJ9pHHP+XrffGcTZFBR08R7Um U91lwot8iASo5jDrFwxvoyyxjrKf39RBlrLzSS9njkrC9YxoPSOUSgpOiRBDsiSyOl5r0w8kfyh X/X/0nEihc0VbZV0wU9tNaee+cU4PWJF5wTsTrSZnzB/rjD3ZTmIdSs+aJlVji2kQKJTDnHsi4H nmmK1D5Dozz0DMi8imw== X-Proofpoint-GUID: 1ZcYiUCbd7Ky6dote2F01cjiLIOPdZsM X-Authority-Analysis: v=2.4 cv=RrbI7SmK c=1 sm=1 tr=0 ts=695bc7aa cx=c_pps a=JIY1xp/sjQ9K5JH4t62bdg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=HM6bUx3eE857ULQHB2EA:9 a=QEXdDO2ut3YA:10 a=tNoRWFLymzeba-QzToBc:22 X-Proofpoint-ORIG-GUID: 1ZcYiUCbd7Ky6dote2F01cjiLIOPdZsM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-05_01,2026-01-05_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015 spamscore=0 impostorscore=0 malwarescore=0 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601050125 We don't need to know the IDA value outside of the function that creates the auxiliary reset-gpio device. Simplify error handling by folding it into reset_create_gpio_aux_device(). Signed-off-by: Bartosz Golaszewski --- drivers/reset/core.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/drivers/reset/core.c b/drivers/reset/core.c index e08056e0f67e86ca76ffd3c1951c543a7e490a23..39bedf990223212998fa8ed4cda= 517529f94ee23 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c @@ -825,10 +825,14 @@ static void reset_gpio_aux_device_release(struct devi= ce *dev) } =20 static int reset_create_gpio_aux_device(struct reset_gpio_lookup *rgpio_de= v, - struct device *parent, int id) + struct device *parent) { struct auxiliary_device *adev =3D &rgpio_dev->adev; - int ret; + int ret, id; + + id =3D ida_alloc(&reset_gpio_ida, GFP_KERNEL); + if (id < 0) + return -ENOMEM; =20 adev->id =3D id; adev->name =3D "gpio"; @@ -838,12 +842,15 @@ static int reset_create_gpio_aux_device(struct reset_= gpio_lookup *rgpio_dev, device_set_node(&adev->dev, rgpio_dev->swnode); =20 ret =3D auxiliary_device_init(adev); - if (ret) + if (ret) { + ida_free(&reset_gpio_ida, id); return ret; + } =20 ret =3D __auxiliary_device_add(adev, "reset"); if (ret) { auxiliary_device_uninit(adev); + ida_free(&reset_gpio_ida, id); return ret; } =20 @@ -892,7 +899,7 @@ static int __reset_add_reset_gpio_device(struct device_= node *np, unsigned int offset, of_flags, lflags; struct reset_gpio_lookup *rgpio_dev; struct device *parent; - int id, ret, prop =3D 0; + int ret, prop =3D 0; =20 /* * Currently only #gpio-cells=3D2 is supported with the meaning of: @@ -952,16 +959,10 @@ static int __reset_add_reset_gpio_device(struct devic= e_node *np, properties[prop++] =3D PROPERTY_ENTRY_STRING("compatible", "reset-gpio"); properties[prop++] =3D PROPERTY_ENTRY_GPIO("reset-gpios", parent->fwnode,= offset, lflags); =20 - id =3D ida_alloc(&reset_gpio_ida, GFP_KERNEL); - if (id < 0) - return id; - /* Not freed on success, because it is persisent subsystem data. */ rgpio_dev =3D kzalloc(sizeof(*rgpio_dev), GFP_KERNEL); - if (!rgpio_dev) { - ret =3D -ENOMEM; - goto err_ida_free; - } + if (!rgpio_dev) + return -ENOMEM; =20 rgpio_dev->of_args =3D *args; /* @@ -977,7 +978,7 @@ static int __reset_add_reset_gpio_device(struct device_= node *np, goto err_put_of_node; } =20 - ret =3D reset_create_gpio_aux_device(rgpio_dev, parent, id); + ret =3D reset_create_gpio_aux_device(rgpio_dev, parent); if (ret) goto err_del_swnode; =20 @@ -991,8 +992,6 @@ static int __reset_add_reset_gpio_device(struct device_= node *np, err_put_of_node: of_node_put(rgpio_dev->of_args.np); kfree(rgpio_dev); -err_ida_free: - ida_free(&reset_gpio_ida, id); =20 return ret; } --=20 2.47.3