From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 803FB3E2755 for ; Thu, 21 May 2026 14:26:04 +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=1779373566; cv=none; b=u78W0bwGRfLR9Hid/DdMjduPi6nhUEC/ivZCPqYpRtXuzXtZ/w61DQfm8JKOvS7xzcruSkrSEec6l6vhiEK2XelgPBL1IHQhKuToWGLUihGvdBei1HkpRparbEsyGqATImBhac+cnHXFB743o0B470h0M/1fSJcpGZoBc6PifQs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779373566; c=relaxed/simple; bh=OpCqnk0au4qNbjl5FDq5/zEMy4u4lMtxcHH0/GMADGk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aY7pl6/7s1oT36wzmnPoOeanxD00xHiWmyFGojWlXUsTurHG9jESNIh93oPH7FzTyKwzyRbbFU0XlAc7wLrKv7e9NXT1hgxS1V2UuP0bSc94dYyCjA6t0cyA4Zya+MasQpuz71ywttiqxJ2cFTl9wcD2LJY8f3O18tLxXE6NSCM= 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=iNRiXZBY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UELwy/lx; 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="iNRiXZBY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UELwy/lx" 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 64L99plf3451454 for ; Thu, 21 May 2026 14:26:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= WKu78rcZ0TFW/Rc/isjo5OvpER4cnL06qS34VVAM7SA=; b=iNRiXZBYIJ7Vd/Ek 5wzXKh6LBM7C3gY1uvwzaHMjUMRY/csyKglwq2TvMWP3hwFveK1RbsNxwSGL/dnw sepDU+7iJ2UMONSyiKFhV6O84Kf5m8+YsbP2kdgO3fVcob12xLbC+YKD9sE2DcBm ZWVhooNif1gEDdMd2WyUGhlZ3uXL51jp3OcNKdzKuKEJobuFgsxF6gCzmDRl3qz2 bA8jnZUFBJmgwFpUaWp5DZ5LVVqrB6ndqbSA9MS2aZfjM+TAYwKEO1aV98UhFWEa 5hcxd+TReDeq0NjzvZbyP+OOzlUVWk2+0aEbE8aVfuYAXNTEKWiF+G8ER3Bmrjwy Vj7OYg== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e9y1h99fn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 21 May 2026 14:26:03 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-6312aa1d7adso4876610137.0 for ; Thu, 21 May 2026 07:26:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779373563; x=1779978363; 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=WKu78rcZ0TFW/Rc/isjo5OvpER4cnL06qS34VVAM7SA=; b=UELwy/lx6tvKjfY0AmJi3QIkQ/WOymlLorhIe/0gTJjisHU1tCCCGeu9EVzUscVM4U 5aUtbLOVrqZmSiF4FvTg6HKQlZMg0eh6g3tSMtBzavqWAT0jzFhoj72Wpy5DIH5hB857 tDx/uWx7wCxbZrHZVdU59WJfoktZZEdFyLQfQXvIGItAQC9SvQ3viqFaCh0LcKf97+6Y wU9Ybzug2ppbzZ4ZCc3u/nFUsYUcSzNB95nXymJV+ZtlLF5btzCZiWRxvq6T4c24vbjb a2WrIF2Il9WkiRalM6S1+/r4FVb0lEd/V15BWXgnrclOtibbVQKKeC/HWPF6yzRaB473 /WJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779373563; x=1779978363; 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=WKu78rcZ0TFW/Rc/isjo5OvpER4cnL06qS34VVAM7SA=; b=btDpsUFtiil1E0u/6MiOLYCp+OPlzGmososwhWlU4EWyDWlTpo9ET/RNC1nFcf3VTv ZY0916c/o7cP3EvRYRecTfHWLX7+qtsYas/N96VRAQMJKvqiZ3fLVShuUHYhhZxZhBjx 1aMiO2ao5HxBBnWbYSNndS6/3MAbxA5KRxSWc0otZvNH792XX87DN/5t7L1MoZaU4PeQ GWiFJJOWY+/JOjE1r2+ndcWIUGq8W16cTwaygrlFiCjdDBrtzsfBDTSoku0avVlI5Z6r ys7G0NTlOeZPJo29wwiG+x1r56Wti6D8Ox9Cinbu8u5VWOvBMq1JDbqW43ZbKsrTWkSO fpnw== X-Gm-Message-State: AOJu0YyIXURzJV3g4v25Pio+LSy7ZaXnq0d8+k4JEHW5FssVwaV5daGk zueGTUakxzktJ7hGCVFBmEsHeBoV5ZBLu4SqN8mdyLmR7Os5dbP7RSpYPktzSCnvhzvIcJG1hk/ xa6oSOEeLGjGJjvwnWox746jVKqnS78wfUn3DZSz9pMyRQS7VBbuCOrdVH20bFjQPeoA= X-Gm-Gg: Acq92OEYrmlPE4pbD2MeciUKTD46JShoXdLrwlPmAgqNMnsubdh1Za0gYzy939P4W/H D8TGwlC5DQaVVAae8UctCVF4TCZHBsZdqUsabotOHrz1C4fUcHLy+ovF6HQbpgdCnv4oCrFmgK8 ANzrGsvXKAquntBRSv5VBMwPLqS6XfYhq4IOqtxvB82EjHqgfb5ajvlsM1A1pWsZhCFDOgZvSI1 BLDnnJX+R05/5283nWb0/9s4QQINqHhOqGOescdrv5lbKdM2A/W7F4bskZI8UEjsu274Hym1x1s brd1yuMrLznJZZCvKX0iGjcFmb4A+rEt8uCEVXIShpvST540/EHtZZT8/qESugy/gmVgslin0lX VQBZFWCwA6M7sDHNWQRk0J1loykxeSTG6UjnaUZj++KWqYkhHg1kBXWIvQ1alQw== X-Received: by 2002:a05:6102:4426:b0:631:ab8b:c34e with SMTP id ada2fe7eead31-6738ef6ccf2mr1748201137.11.1779373562853; Thu, 21 May 2026 07:26:02 -0700 (PDT) X-Received: by 2002:a05:6102:4426:b0:631:ab8b:c34e with SMTP id ada2fe7eead31-6738ef6ccf2mr1748142137.11.1779373562296; Thu, 21 May 2026 07:26:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:bb10:ae82:b7c3:d15a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4903c9abbadsm30441925e9.8.2026.05.21.07.26.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 May 2026 07:26:01 -0700 (PDT) From: Bartosz Golaszewski Date: Thu, 21 May 2026 16:25:39 +0200 Subject: [PATCH v4 06/10] nvmem: remove unneeded __nvmem_device_put() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260521-nvmem-unbind-v4-6-7fa136759491@oss.qualcomm.com> References: <20260521-nvmem-unbind-v4-0-7fa136759491@oss.qualcomm.com> In-Reply-To: <20260521-nvmem-unbind-v4-0-7fa136759491@oss.qualcomm.com> To: Srinivas Kandagatla , Bartosz Golaszewski , Johan Hovold , Loic Poulain Cc: linux-kernel@vger.kernel.org, brgl@kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5070; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=OpCqnk0au4qNbjl5FDq5/zEMy4u4lMtxcHH0/GMADGk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqDxXqjeNhvvLl8nLH6NDJhmm/F3TbVO7h2H+1M YMhm351FDuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCag8V6gAKCRAFnS7L/zaE w9hXD/40XLbbGO+bNfRNJeUiB1aQvigUMr2t3mbU3oApqGIr13oUn4sdLofSNZBAF/xMx0jGeTC Z1qkp5yCDtOfIaT2JMNXZyrwLc2ojEBR0a7KJjCznFAaz/639p8DmpbpTmOJh8NlLUDjnS//5Db EaNafguYatnJHhQWhEDfgl678Si1S7Vw9BKnnvV1E3P7yiMwiDKdXzvy1i/pUjG0rtH50vSz43O KE3gJWhkuwIaBQgLfqhXXv9wgw/Fxk0Wqe1ovjloFllxhX56xEk8pzmRqnacXSL7sUuiMPI1eLR 8bHqX6ga4sI0w1gNyUxSP9dkhsC2zJyBHKl+bKubqgt9Y6u5knIMVcceo7suvhhqPSchs08ezyP I6VMwt6CIayxVMDYq5WCLgx0KWNPrkTKq41a4B95i33YcAl673A04LckYyjU15lQYPs9jUjUy/r d016FzTXMgQX03F9zoChms88qQWSlh/szasRcdE9dnevDKJyzMvqP4YVp2gUdriWjcf3sP73JlB tADZlOmAKs8/OSUUFzHjuHPni23rHTb0WBgOX3lOm+1hYCA+MRoKKqEhrKd+WNAAOV5HX4YFyPu FwaVhSQ6pyDxRupiwtT8cqRzlAld3oJZ4u4MydFocHx3o5wr5wmfyZrLmSGParbmOJ7+Y1rykOn SM+0ex5fsJE2sMQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: YHZu6nmFwjpZXSOkHsurJMNI7mtAv-6L X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIxMDE0NCBTYWx0ZWRfX9UPG6WeeuxTJ OcNJx7Z2KcKkFmRfSqxGgXraLoF41UtJCS4QIWFq7e7jHRzMpv/K2PPJwiwxotOXYqO4iw5N8bd 7OiF3PHMfb5jv5mf6SHnJsBuDtmWSLnTC/TH0F/g9JV5JRBM+rKXHWvV4XoQGJnfBP1j3OEBWm1 Dr0K6vWoeiSGM59f37U1Pt5SOoNREuRZcXF3uiMbMm0j6CduqOXRYAqqgfaSSp1UMVuD1CW2CtQ J3dJK4ugJhYCIqHrSdJDzqXS9gZKoKEMug27aMEL/ZfNMcIldOFwaqK2c7HeKz3FJune1AZHehY MHeDiO9HQSl15AONN70cu9CEXDCprs3RaoxTDR6ofsrSqzzX2IPrzpamn1BV3QAVL4KERkCibYB 0x8GWx2RusaW8vrg3kslnXUMtOuDL9uVaSfsRPRXgKi0ZeJRHLtFv3TCxzQw0wCtMPDDORnC7YX LC8QOA2OUlJpgvuTRiw== X-Authority-Analysis: v=2.4 cv=YfyNIQRf c=1 sm=1 tr=0 ts=6a0f15fb cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=SMy0nb2-HfDU0vXix7YA:9 a=QEXdDO2ut3YA:10 a=gYDTvv6II1OnSo0itH1n:22 X-Proofpoint-GUID: YHZu6nmFwjpZXSOkHsurJMNI7mtAv-6L 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-05-21_02,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 phishscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605210144 __nvmem_device_put() is wrapped by nvmem_device_put() but there's no extra functionality offered by the latter so just fold one into the other. There's still the corresponding __nvmem_device_get() so in order to keep things symmetrical: rename it to nvmem_device_match() to better reflect its functionality and not confuse users by its presence in the absence of the similarly prefixed put() counterpart. Signed-off-by: Bartosz Golaszewski --- drivers/nvmem/core.c | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 623aeb9533c0124bb893d0c229570e00cfa3c52a..24e079240ebbb0899d6d91f8147210a64d4414cb 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -1106,7 +1106,7 @@ struct nvmem_device *devm_nvmem_register(struct device *dev, } EXPORT_SYMBOL_GPL(devm_nvmem_register); -static struct nvmem_device *__nvmem_device_get(void *data, +static struct nvmem_device *nvmem_device_match(void *data, int (*match)(struct device *dev, const void *data)) { struct nvmem_device *nvmem = NULL; @@ -1134,13 +1134,6 @@ static struct nvmem_device *__nvmem_device_get(void *data, return nvmem; } -static void __nvmem_device_put(struct nvmem_device *nvmem) -{ - put_device(&nvmem->dev); - module_put(nvmem->owner); - kref_put(&nvmem->refcnt, nvmem_device_release); -} - #if IS_ENABLED(CONFIG_OF) /** * of_nvmem_device_get() - Get nvmem device from a given id @@ -1165,7 +1158,7 @@ struct nvmem_device *of_nvmem_device_get(struct device_node *np, const char *id) if (!nvmem_np) return ERR_PTR(-ENOENT); - nvmem = __nvmem_device_get(nvmem_np, device_match_of_node); + nvmem = nvmem_device_match(nvmem_np, device_match_of_node); of_node_put(nvmem_np); return nvmem; } @@ -1193,7 +1186,7 @@ struct nvmem_device *nvmem_device_get(struct device *dev, const char *dev_name) } - return __nvmem_device_get((void *)dev_name, device_match_name); + return nvmem_device_match((void *)dev_name, device_match_name); } EXPORT_SYMBOL_GPL(nvmem_device_get); @@ -1209,7 +1202,7 @@ EXPORT_SYMBOL_GPL(nvmem_device_get); struct nvmem_device *nvmem_device_find(void *data, int (*match)(struct device *dev, const void *data)) { - return __nvmem_device_get(data, match); + return nvmem_device_match(data, match); } EXPORT_SYMBOL_GPL(nvmem_device_find); @@ -1253,7 +1246,9 @@ EXPORT_SYMBOL_GPL(devm_nvmem_device_put); */ void nvmem_device_put(struct nvmem_device *nvmem) { - __nvmem_device_put(nvmem); + put_device(&nvmem->dev); + module_put(nvmem->owner); + kref_put(&nvmem->refcnt, nvmem_device_release); } EXPORT_SYMBOL_GPL(nvmem_device_put); @@ -1332,7 +1327,7 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id) if ((strcmp(lookup->dev_id, dev_id) == 0) && (strcmp(lookup->con_id, con_id) == 0)) { /* This is the right entry. */ - nvmem = __nvmem_device_get((void *)lookup->nvmem_name, + nvmem = nvmem_device_match((void *)lookup->nvmem_name, device_match_name); if (IS_ERR(nvmem)) /* Provider may not be registered yet. */ @@ -1341,12 +1336,12 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id) cell_entry = nvmem_find_cell_entry_by_name(nvmem, lookup->cell_name); if (!cell_entry) { - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); cell = ERR_PTR(-ENOENT); } else { cell = nvmem_create_cell(cell_entry, con_id, 0); if (IS_ERR(cell)) - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); } break; } @@ -1444,7 +1439,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) } } - nvmem = __nvmem_device_get(nvmem_np, device_match_of_node); + nvmem = nvmem_device_match(nvmem_np, device_match_of_node); of_node_put(nvmem_np); if (IS_ERR(nvmem)) { of_node_put(cell_np); @@ -1454,7 +1449,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) ret = nvmem_layout_module_get_optional(nvmem); if (ret) { of_node_put(cell_np); - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); return ERR_PTR(ret); } @@ -1463,14 +1458,14 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id) if (!cell_entry) { nvmem_layout_module_put(nvmem); ret = nvmem->layout ? -EPROBE_DEFER : -ENOENT; - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); return ERR_PTR(ret); } cell = nvmem_create_cell(cell_entry, id, cell_index); if (IS_ERR(cell)) { nvmem_layout_module_put(nvmem); - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); } return cell; @@ -1585,7 +1580,7 @@ void nvmem_cell_put(struct nvmem_cell *cell) kfree(cell); nvmem_layout_module_put(nvmem); - __nvmem_device_put(nvmem); + nvmem_device_put(nvmem); } EXPORT_SYMBOL_GPL(nvmem_cell_put); -- 2.47.3