From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (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 C990C351C1C; Wed, 5 Aug 2026 12:42:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; cv=fail; b=R0vd4ypZi53HF5BxQolrUhjejiOnuGwEF17a3ryzdj536gJjrqQPm09pwDw0ivrMYR5/vvl101s5xJ8xx6rXsSiAHqydXdK0BG1y2KuV+1bn4tKGxxKvRn3EOEzm/n0zNFU4P7AjURDRozrHPy2rC6zEQI6ChyPy4mzpc/4wgvg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; c=relaxed/simple; bh=X4nsh5GvJwRcEC0fIVSzuScBsjiBKoJZ3xy5923rO6M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bxCAC/FdkknH9xePZ2qDLexntDW64iIbw4PH3ov9nB8OU3p30mfCN88RW/3TQtW94+6s0Oox+zOWi7aJVluUN50rcb9RrIgN7u5r1aqe4SNcHSJamlcq9r44FmspGLID0P0gkVFYx71t5JgpYrfp5HGemd/RNYR2hhbC90T2z+w= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=q6fBwyzn; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=bctl+LE6; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="q6fBwyzn"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="bctl+LE6" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 674HY96F2306777; Wed, 5 Aug 2026 07:42:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=cXxXPe8zf3UuaYCpGJIHp1bMvWXiUr5phSf/sD3fPmk=; b= q6fBwyznLeqdq6rRVe0io2wlfVa3RMUqqB5VFdtymqqZOgf1Ic+1ilhMdVMBFIi3 xGB/Bx3jInjY8v4hs5N+TPmt8mqTGSuerR/Qw1W7JLUL8Ui0qS1xnRUTCrZwxsPN iKah+o92tjMK5I2n7o8IqjvQXoxfrf1yuw1z4BPoC1Kdk3ugQzyvYe29Mjc4AHf9 3LCJytvKEiZ5yWtm5HI80SoguQBxtRLrh8CdDGbHFmTlK4qaphIlS0oDSMVha320 GbdQzui0F6cePfmEMG0Y97FWBxFPsXg6Fu78F9PdnDazK/N0+UNMOJEEnod9ERbJ Hyv5LBg/FDJKm2WagS5BuA== Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11021104.outbound.protection.outlook.com [40.107.208.104]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4fse6vnmde-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:17 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aDdg+ke4N6q75MxTkGgD00LmfDRNhg9O5q5oc3vJL2e+ebVrnlsdmeTtiyZz+K9edAi2iurvXhpvWCYZB3pFYDr1Y6c9vzvOpwylky6vnKGa84MLqW4aMvenf/uV//pB9jDxiX1gk8FmH9PdNbjt8bDEovmXusu85I3Pd4oVbQlMlIng2IGc91F5B0o7pm1GlTNDD4w3ZVR/IqgBfqcy/IaajupfiFhqJvO3EONTxN9TTCIGmTJ4llGEukfPEx86nLDc+s0bQ9XuzyZBZEiMAaffHNuwj9bysKz/b7+8OX1LucpvXlV6oA8IX2J3bNQ+FJPkSp69KHRLbG6KDwEp/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cXxXPe8zf3UuaYCpGJIHp1bMvWXiUr5phSf/sD3fPmk=; b=eXs7eqaXszQDsy6bI63pbwqnaAmDOtwbzAqGvYd/7nLuQyfpYGlDthkbjcBn9Do2lO2xaw4DKNufTAh4j+bX0ymCFE++5WlR606+i9VTqmHlSLCZKNu/oRKmKJBVfoo3FMF1A83e8NFD3OwQBGPQFFysMF25tXJ24gNoxWPC0WYnI8Oco8Yx5p6eynBfXQJKSIF4wR//aQCg/g23R3miE+ZCzYzei8wReR2VPfGkDt0vGXNgqTwiNkRgal+NwsBpF7O4v5w+r8gpLXDxVCTQeOtEzFrkKhSDEkzjnh+hyp1byaiG6B75LXwB3ARQ+7apI9BQjQ7ms85jLN5YBvpDXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cXxXPe8zf3UuaYCpGJIHp1bMvWXiUr5phSf/sD3fPmk=; b=bctl+LE65Kiw92efbJLu4yh3+osqXE+rljWoM5tIsK30lAVnFIpjoK3m1J8W+NkcdatksLSM7VCBcM23H+wGCU79tlFWm7eV7F2q/+EUKPRcPC1kobIOYFt37PASyjTlrr2CiW7m9RDEYL5AdLRR2CFxs2qx0Iampi0BKhXrQuk= Received: from CH0PR03CA0095.namprd03.prod.outlook.com (2603:10b6:610:cd::10) by CH9PR19MB997465.namprd19.prod.outlook.com (2603:10b6:610:343::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Wed, 5 Aug 2026 12:42:11 +0000 Received: from DS3PEPF0000C381.namprd04.prod.outlook.com (2603:10b6:610:cd:cafe::50) by CH0PR03CA0095.outlook.office365.com (2603:10b6:610:cd::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.19 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by DS3PEPF0000C381.mail.protection.outlook.com (10.167.23.11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:10 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 78BA040654E; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 62BA5822542; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 1/8] ASoC: SDCA: Tidy up error message Date: Wed, 5 Aug 2026 13:41:58 +0100 Message-ID: <20260805124205.4152543-2-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF0000C381:EE_|CH9PR19MB997465:EE_ X-MS-Office365-Filtering-Correlation-Id: cb70b4eb-6c87-4e9f-d670-08def2eef7e0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|82310400026|23010399003|7416014|36860700016|376014|22082099003|18002099003|16102099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: v+y6p7x6o2LGHDL6REIArxgQHiJSEv0l0sHDJHGQ/yxKXpQij7/Hg+TW/iaE6ofOsIfPz8GJdOpQUiH77i9kZilFPe+o1zO9yQGPsw282/p+CdDoUS9FGeiNPQSyzrQsY9Q6THI9kOYUeT+T/XJY5D+QlTtkOwna5Gbtuss25fDI8AvSrgfcXJMHnrKW7EEC4QZH+/yq3mBhZDHZGxI212mRiV33HI/xLqLj+hFGpx9pPw+i/kL/rcKUs8NbfGvUjXDSqbNtFhfa0LYhnx5F7o2y3yS51RoAMnsT4Fz0dEdHFJlDnHiDxesKFChqI6I0JqhpUalExGo20/bbM9vR1P+0kn1p+7fR8WHVt34zxWYIcFcVLxakbAMBtKfpN3kmQsqNOo7ff3bNLzlzxNqCjSVvNnv8WVktLCmGTMhHo9CyNGQWbThLj9ih3C0+A9Fv0G954hUNqwrpRGgUkh3JCWXk0pzuXsXMMiMU2kgppd/BQJ1jbEAWDE0w4VBsgzJSZUj4ueGsfNrIRR3ysvfLH8gA/kUxzEpC5qrr8CDvBeEuFsEQljbOHWx+yGtSSytrfY8KEQiap1T8OJBSybKAT4/wBILeYaqa3uurr4iXBmnGQVghjn1xOBIAEJ0fWzuQDqIaBABrH4YgOPr2s2Ffbjbl9gh+IcTpJoyl0ONyIngTofGUc3XrG+rxitwQAd8VBp6BZfcoaT3UKBtRcnepLA== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(61400799027)(82310400026)(23010399003)(7416014)(36860700016)(376014)(22082099003)(18002099003)(16102099003)(56012099006)(11063799006)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j6eoXjVhMtmUDnSiV9MtPRa3VHjHlgWuom6lJn8Uxf5auzkrfyEMAnVRHe83sCbyAVPrkLwx30hQJt+h/YDhabe6RMOwi4AQx13nbsmfdIOgABhpE7McM79BD2iHDhC2NbXjsFQroC78LUYaWQHpW/Ay572+zdAVAEc78Y3MfTwmrv8zAqWOAncG4KlbVxO+8bxE2926Z2KTmJgIqyEWajagz6y2aF233vLq1FkwQ2cZjuZyodx+gbD8CgyUs6HhIR1vljOv/LEYVE28oavsYlvwdFBjxYAiytUnDBOlmMPZOYpIz84TjsGho5GFQv69YDCVk6eVBCgxzwIcA9Z3O4C666mLQ9ocaCyi5ZWEGuVa+FilgpqEKqja4hQJ0L3/vQJWtRdjv9i4yQ/KY8BqgEWGmKRROTRzhWZbXS7xXoLQ/V20h6v6xWkM4siuFgQZ X-Exchange-RoutingPolicyChecked: J8rGTcfziytlOlydIcd268yjWnDoRundMGNfTfg+2wy+p3HxwRzmkR5W8Oo7n2i41jQeLpQFLlEWsh/lfY2GtMbhhAk215oFNgCo8K1ZhoxgarB5EReLkOXK8m/g2ZhmA25XuOKu57zvB7aI3eAXVG3vLH0JW5gLyOFtxCW2c7ehEKim8LL+AMBUcr61Y8s7dLVq1I5fKJ0SF9bj9X7K4YO6lnFgwCs3sZ2q6wmqWGbBprTDE7H7DxNeztQEWZ6hUPegZwTcT00jzEA+1XNLGr8BIfNeX37cbTcyf5TJRntVps7zplU/jeHZV/N4VQLv9lIZG7KpsJI88PVqP2iBFQ== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:10.5401 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb70b4eb-6c87-4e9f-d670-08def2eef7e0 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-DS3PEPF0000C381.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH9PR19MB997465 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX14An48rN84N3 1tGTPwO4Z0xOKZU/SoLz8k6RWxFIYN0BTG+O8CNj3rBKpU4eZJLs706uLkEnpsTNBWMYxIo5ith HIErTH32Z79KIxOhul6dDfMnK8CuHbE= X-Proofpoint-GUID: 4G0QuCM5rrZrPKaxhILs7uu7zrUbnXRf X-Proofpoint-ORIG-GUID: 4G0QuCM5rrZrPKaxhILs7uu7zrUbnXRf X-Authority-Analysis: v=2.4 cv=N+MZ0W9B c=1 sm=1 tr=0 ts=6a732fa9 cx=c_pps a=jSq2D0RH6kfjLa8OhrZnlw==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=37XQl_cq8Cqo8MCQfbIA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX78zp3OvYn4R7 QQhxeoq9r4SaPkLu8aTrhJzMC1wto/fp6unTAjzEMctse3m8v8UaZRiWZ3xyemsWk8TPtK6UhLz ZkWdUoPYmDH8R6ryl8GCPXXFzZxT0uvWfAn+OBhCAyVSjWG9ntImaflNPFMoRbBWMmnAlRuPgYT 8NV0HHV12zLfFDVY9gwzPZ7+GC0BCfgP5F1arF2Ovvk+ZXp4d/u7zEMxBPs2UmKTeSstDRKL7Vs ITKUoW8c/EqlhDvqNOZr7c5v1P1zhlqT6R178dAI09Vx9BFvnbYkyZ5Bri1HoX+XpcsBOTENQQb w4bhKzvJDOGXkzlKd+wiPvglLbmEfDx6pWtNV3Csqg1vvD98Uwv6IroPmBQtJXbuwWqVc6V1tE9 xwrw3ogW2HrYbszpQSlOZ2saR8OCquSjgtvIy7oSxcLJDXpkkaqjNN52yshJQM6LNfGqTBh1f8V JC+eBws7iLCLAMaulHg== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Bring the entity_pde_event() error message slightly more in line with the other SDCA error messages. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- sound/soc/sdca/sdca_asoc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/sdca/sdca_asoc.c b/sound/soc/sdca/sdca_asoc.c index 9a6c0036b7be3..03486d1c1b2f3 100644 --- a/sound/soc/sdca/sdca_asoc.c +++ b/sound/soc/sdca/sdca_asoc.c @@ -458,7 +458,7 @@ static int entity_pde_event(struct snd_soc_dapm_widget = *widget, entity->pde.max_delay, entity->pde.num_max_delay); if (ret) - dev_err(component->dev, "%s: PDE transition %x -> %x failed, err=3D%d\n", + dev_err(component->dev, "%s: pde transition %x -> %x failed: %d\n", entity->label, from, to, ret); =20 return ret; --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 25B5537F8CB; Wed, 5 Aug 2026 12:42:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933754; cv=fail; b=QZQuTXoxrTFgzfD+JYG23P0dTXdrOLtasAw1gxvfqdILcXdhpZE1GFgvqoQeJ8S//7q0FKWumpSdNvz/fO6S+uAvD7MPKy4rjJDC/I/AL0r6LUdxZ9daZ0aPNKP/mRv0WS75gmbLbo5nquUg8TKdN3mYJ4a+trbCmwl0Hgk6X7A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933754; c=relaxed/simple; bh=bGXvDz/YE2707nVxGk15vFEE52cz75Wirz8plv0beHs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=abnkzYjtHvccl2DOzoI2HE3ea/NqxwZ6k/RbAM3CznbmK7BExVqQFFTtUMoYbBZhrzFhkJgLUgEmZyHEr0FksOmm+LWvvOehC389C3FOMnP5SAFheGrJa9j04zTXBzAZwINzpIIxbeVNakLvkJxsHCUypzhw+IDQc2l882VlyuE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=MBm/Ywfd; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=WfW2PDy7; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="MBm/Ywfd"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="WfW2PDy7" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67558q6f2591634; Wed, 5 Aug 2026 07:42:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=5442IP5J+oqU37hNJ1IhE9rHKbfoOQplq/C7VWL25pM=; b= MBm/YwfdJNFSL7jUnDulat6V3HCUjlH1zx7li09dazJg7xkouEUIHf1xFqdHk1V5 rb5LA/0vLvD2q3hRxXG24QB0hdhJIFkATQW/enzU1EXIYRoaMA7HI0D+z9RJ9qTi +oD9lztoM8hZQjtFcUqOGMeNvmQN6eouXNRde/xMGR23fbzr3qaJ0spkGewxm5xw TgPVybzPLInpBkGOX/5OaynO8v+jGx8N1qGnGuKfGcmg3AXnLGWqRTEuwhO/pIbf PrkO23jdvooyyHEQRLKw3rGFdHQDfm1T8r7A400KMjiQskb6ReGD62da5GuPWBzW EttHe+CSaeG33AatRQO8qQ== Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11020135.outbound.protection.outlook.com [40.93.198.135]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4fsd7h5pea-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:23 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TPU40Cq5HoL9xXcjYHULgN+ZTmxjhRWipI+Y5V+mDWfJBS40ZC94X11/Yq3mFHKIUZcxpgACPOdLhG/oYVS299nqHka5L5AV3hPZe2YjP2moUMbtbaG1rCUaAZfnYinCtoXGkcDvSR+2z7N4TILe8Fl62+Z7S8ju+CKU9Zr6EGjKb6thU8eMFV+G1Y+J+Sllm+jIcrp4XxEu4sw6/yp0fhP8XFpGLwHqBF3sOvLH3+Xa1yngaAha/48w5OOO1qFIsqapsAHXxPfZ89AwLo/M/+jG6lnaD8B9+8W6hn2Rcdr8iurO4P6/jdxXCefDvQcC08J98LUzLIykm84XxWljNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5442IP5J+oqU37hNJ1IhE9rHKbfoOQplq/C7VWL25pM=; b=n0rH5XbS96Oqdaj9SioKeJ9UnIZ37roQn95ARbiKe8g8gE3igtGAQ+zy3bwiMKGpvrog5VEDMSFwKRFEOvmoOAHvdvwdwIs8LYYBUcxBjC72DD50i+p/nWJRv0EXcl0D/9ciGNDyyVOVxEEprOBWs97lg9Id9WcKFoeoSGU3Ygs2s6cLmMTxTZK+vxuVbiIYi9ekixOm+A1GowUFFNsRcjn2nwB0REzS9Ndp0cqm2B1t9uQqPQDTu5ZVihw932tVbEETwWYjeGy4DaRadlv2xfMP1nGDNwz3RJBSidS4vw31ZEmP34+E0RPEN4hDRRWSNHeglidfWgO7+oXWKHylGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5442IP5J+oqU37hNJ1IhE9rHKbfoOQplq/C7VWL25pM=; b=WfW2PDy7bda7+L9VVEd9c5tmBISzrnpJcYtdBvybLRImN/uDXeJQriG3bpZMnLBhb3hdjKzyMSpPV9ts711bl3H/8jxxT+6mA2NtkoZxThR9WJcI7sYYbkXZg8oyL9quZdN6FrdFDmOkeQuJOUgvTAIupfweTtYdIW2IyQ3NyeY= Received: from CY8PR19CA0025.namprd19.prod.outlook.com (2603:10b6:930:6::22) by MW4PR19MB6627.namprd19.prod.outlook.com (2603:10b6:303:1eb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.18; Wed, 5 Aug 2026 12:42:11 +0000 Received: from CY4PEPF0000EE33.namprd05.prod.outlook.com (2603:10b6:930:6:cafe::ac) by CY8PR19CA0025.outlook.office365.com (2603:10b6:930:6::22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.16 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by CY4PEPF0000EE33.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:10 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 86D40406550; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 705B982025A; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 2/8] ASoC: SDCA: Remove unused dev pointer argument Date: Wed, 5 Aug 2026 13:41:59 +0100 Message-ID: <20260805124205.4152543-3-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE33:EE_|MW4PR19MB6627:EE_ X-MS-Office365-Filtering-Correlation-Id: fab4cbd5-14d8-4c6a-dba5-08def2eef7fe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|23010399003|376014|61400799027|7416014|56012099006|10067099003|11063799006|18002099003|16102099003|22082099003; X-Microsoft-Antispam-Message-Info: nLL84ln5IDLAxTU4xaqjHT2ND4RZuv1KohSmCXrE4b2rqH1F8EjaNCULwrUDavY71/slnqGj93LY3GwWCNIVI6XnA9WGUDyY0lskbUlgGwed2AoNjAagPGgARXHHhV0qe+pt3dfPt/pGNOoJaooSBtSvUi5Ne0YhJsOsK5Ob7UaBSZfcsJR1RzhRLu+KtE5mUAe8IIsGBViHZhwxJhSCnXlMfYAC3hnMVboxfDKN3GXpMgLo6HbfvGuISyKp5QTDBnkvwilyaxJzm0YfmiW3yFHu/IahpZeO1frWCL6v/+4zmh4zK25yTWIo0AYS3MmUl0ol4qgp3r1G8ZdzPScGvnTFNjEvvbgmNR3DE8w0mjIuUOxjLbnSEHJstQgleuGLNZnl+hFfKrxDXTFoQe7E/9TjcrrWdEAtx0k2VPaMnBVhZiVPHBCRAckODV/tcqj6hysZwQvh5hrFJUfnwIWtNJft1m8iIvW5alT8fHcEGq6ySNc/iTrELZre6sXraeo+h9Y68r4fznYvGBt4UiXTh0QKHmMDy6Mtoug3S5OyGPDDg29DNyk8pZJcqNwhL6GCHkfFUFZTHBMrpRptehdV2KqccudhNmWRB7tCE+ishdPc/Ks+ZxVfKOlovjJpRLVxZc507MuvpuJb0+9Zjv/pQaM0e53jhaqLFN7PBipruM75GYYzNUjgyvWHP0QLci6J/v5BVPNwm8hOblYOTOFGvg== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(23010399003)(376014)(61400799027)(7416014)(56012099006)(10067099003)(11063799006)(18002099003)(16102099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SPgeJP6BzKVHL6Z4FVlOsPezq+HjF3ovbsZQrG+zrAADYhn9Kgqm3D+zTwZcg38z8YzZiCR5XPXR6vBdLhPbRQawe01So7dEmx6r3nTw+oalIg2BeBwTkfywHsSIac72s3tjhhoe1jN7Vdo4DMhKkW7SqG0r/SXpMUaeF9HJRcdQTLDIKPFX+2ldOnZTsS0kYpm8ENtNgBG58obzUlDAJK3huCwX/wCGFLhnB0UauNY/2RE6PfTOCJKi74PnauFf/5q7Ak9gogIXxc5zh/lGF/i6m8eFRx3VyxqUeMRXqI43vJGzmTFuJmpPktu7/XZM5us1FSE0BdQCKn8FuT+LfKM2vuTem1ekkQXwAK1IjNoV2ILjOmxlVjQ13kDK1jRMRos9J1oQ91nKHHCl8DnmZByLZvaqc5J23E9xhCCZ22lJmV0vCLbFaq3Xx7udOsZ4 X-Exchange-RoutingPolicyChecked: pJH+azWZ1KEFEmgAcs1Yq59EoD9ejoIjcdMUJF4Hr/SgkezORz0NXpyZFZRCw/Nf3FxGEKyDrFXy4LvDy/Coc4XrkkdvpAXLu4fZkaC9Hi2UJrRDMKpORVaaag/JihXqgnpaAl1fYBLJ9vkYhltSVQPRxYzsJURuzA+rVZyiLMuwVLKOZNPESNwwbIH3T52zMFPyqe32g4gg2Ga91qy018HDDfgNUHslYYHwuw6Qob3zCC6nxYQ2iGchqMlwjJmkd10VJTYKK8ym9M1MtvTxxJR8KVzRFRNnp0gIQEudKTfPt1gvAMWS1/GdqcH2l0COYJmSy5lI2CUn4C7qKbe9kA== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:10.7096 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fab4cbd5-14d8-4c6a-dba5-08def2eef7fe X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-CY4PEPF0000EE33.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR19MB6627 X-Authority-Analysis: v=2.4 cv=ZK/nX37b c=1 sm=1 tr=0 ts=6a732faf cx=c_pps a=xM+CCxkBm3QG079K+XzSvg==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=cEkl5-0BztOq5w2XeIEA:9 X-Proofpoint-GUID: 2ho88HtzaOgUDNZEaNY8coM5XOvPEzbG X-Proofpoint-ORIG-GUID: 2ho88HtzaOgUDNZEaNY8coM5XOvPEzbG X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX5ioAKx0/I3pH uOYws4wYX9a5lvz3wa1iN6TSE33kLU9ssHeAuPBWdOmHN/D7z/m30QSvb4VwX/oPFvcL+qd00Fv Izu6uT5kddDcZn4LJlLAZGR0kHEfwS7zwDhUFAFXGdFsCh7pjN7EVTd5O3I2nh1dHcirxfVGqJk v7rQbDJjuiUViMlUjrdG8xspO0IAC1wLS/VUy0pvsh+Zc6zGXLpVJ4IOhd6tCoLHTvLYZY2HQyi +Y1hLjsbH81r8bZwrO3P8DsviwIUKrCNRexSYuU6u4mEJ9Hij9ZRMWAeUKeq5hg7xpJRGfDDzWb XdLjxmGysJii1Aeb7U+pcw0jYfP7zT8ELY+En9g4waGdthrHea3CKj7DKi+wgjKOUKDBy1rejyW qJjLMiU4Yy4xeq6q3xO8PUd1mbJtjz6uNPULAg9ZBGTREj2Ny0pyOSErfgfWK/Rvk5Lr8W8EwmZ zmNJEonKAhfDv7nQxHw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX6iPebq0QQjDH 2HCeJmP80cAiu+aM/mAp3FfArYGyw69jUMg7JKzGtXGhS0C5FbFiQ4WjMd4Uy/7w11UYQUgl555 vZ5XCgLt5i6sJe8VOQzj42Yq6nA5Pmc= X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Remove the now unused device pointer from sdca_asoc_pde_poll_actual_ps(). Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- include/sound/sdca_asoc.h | 8 ++++---- sound/soc/codecs/rt766-sdca.c | 2 +- sound/soc/codecs/tac5xx2-sdw.c | 4 ++-- sound/soc/sdca/sdca_asoc.c | 11 +++++------ 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/include/sound/sdca_asoc.h b/include/sound/sdca_asoc.h index d3024c3b38b9c..599a72f335153 100644 --- a/include/sound/sdca_asoc.h +++ b/include/sound/sdca_asoc.h @@ -107,9 +107,9 @@ int sdca_asoc_q78_put_volsw(struct snd_kcontrol *kcontr= ol, struct snd_ctl_elem_value *ucontrol); int sdca_asoc_q78_get_volsw(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol); -int sdca_asoc_pde_poll_actual_ps(struct device *dev, struct regmap *regmap, +int sdca_asoc_pde_poll_actual_ps(struct regmap *regmap, int function_id, int entity_id, - int from_ps, int to_ps, - const struct sdca_pde_delay *pde_delays, - int num_delays); + int from_ps, int to_ps, + const struct sdca_pde_delay *pde_delays, + int num_delays); #endif // __SDCA_ASOC_H__ diff --git a/sound/soc/codecs/rt766-sdca.c b/sound/soc/codecs/rt766-sdca.c index 49ee9cef5c541..4c5acd950d70f 100644 --- a/sound/soc/codecs/rt766-sdca.c +++ b/sound/soc/codecs/rt766-sdca.c @@ -616,7 +616,7 @@ static int rt766_sdca_pde_event(struct snd_soc_dapm_wid= get *w, return -EINVAL; } =20 - ret =3D sdca_asoc_pde_poll_actual_ps(component->dev, rt766->regmap, + ret =3D sdca_asoc_pde_poll_actual_ps(rt766->regmap, func_num, pde_num, from_ps, to_ps, diff --git a/sound/soc/codecs/tac5xx2-sdw.c b/sound/soc/codecs/tac5xx2-sdw.c index ace06f5ab58c1..ea0408b71713b 100644 --- a/sound/soc/codecs/tac5xx2-sdw.c +++ b/sound/soc/codecs/tac5xx2-sdw.c @@ -800,7 +800,7 @@ static int tac_sdw_hw_params(struct snd_pcm_substream *= substream, return ret; } =20 - ret =3D sdca_asoc_pde_poll_actual_ps(tac_dev->dev, tac_dev->regmap, funct= ion_id, pde_entity, + ret =3D sdca_asoc_pde_poll_actual_ps(tac_dev->regmap, function_id, pde_en= tity, SDCA_PDE_PS3, SDCA_PDE_PS0, NULL, 0); if (ret) dev_err(tac_dev->dev, "failed to transition func %d, pde %d from PS3 -> = PS0, err=3D%d\n", @@ -847,7 +847,7 @@ static int tac_sdw_pcm_hw_free(struct snd_pcm_substream= *substream, return ret; } =20 - ret =3D sdca_asoc_pde_poll_actual_ps(tac_dev->dev, tac_dev->regmap, funct= ion_id, + ret =3D sdca_asoc_pde_poll_actual_ps(tac_dev->regmap, function_id, pde_entity, SDCA_PDE_PS0, SDCA_PDE_PS3, NULL, 0); if (ret) diff --git a/sound/soc/sdca/sdca_asoc.c b/sound/soc/sdca/sdca_asoc.c index 03486d1c1b2f3..ce2e7c2707657 100644 --- a/sound/soc/sdca/sdca_asoc.c +++ b/sound/soc/sdca/sdca_asoc.c @@ -364,7 +364,6 @@ static int entity_parse_ot(struct device *dev, =20 /** * sdca_asoc_pde_poll_actual_ps - Verify PDE power state reached target st= ate - * @dev: Pointer to the device for error logging. * @regmap: Register map for reading ACTUAL_PS register. * @function_id: SDCA function identifier. * @entity_id: SDCA entity identifier for the power domain. @@ -389,11 +388,11 @@ static int entity_parse_ot(struct device *dev, * polling times out before reaching the target state, or a negative error= code if * a register read fails. */ -int sdca_asoc_pde_poll_actual_ps(struct device *dev, struct regmap *regmap, +int sdca_asoc_pde_poll_actual_ps(struct regmap *regmap, int function_id, int entity_id, - int from_ps, int to_ps, - const struct sdca_pde_delay *pde_delays, - int num_delays) + int from_ps, int to_ps, + const struct sdca_pde_delay *pde_delays, + int num_delays) { static const int polls =3D 100; static const int default_poll_us =3D 1000; @@ -451,7 +450,7 @@ static int entity_pde_event(struct snd_soc_dapm_widget = *widget, return 0; } =20 - ret =3D sdca_asoc_pde_poll_actual_ps(component->dev, component->regmap, + ret =3D sdca_asoc_pde_poll_actual_ps(component->regmap, SDW_SDCA_CTL_FUNC(widget->reg), SDW_SDCA_CTL_ENT(widget->reg), from, to, --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 68C9B4582EF; Wed, 5 Aug 2026 12:42:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; cv=fail; b=R2tznKX+/IDm2ikz28NqG/+go85zmxvwfWvffvZqQ/stWIw3mduoDwHKydmDZkCovErwTqVJVqELh6IN8L2XgWRqwG4O43sP24TDeFywnbpo8vcw/GLjNCuH3q6TGxE1w3pADBZVsKqnZq5q9yQuhx/+koC7PQVz5D3FggXk6S0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; c=relaxed/simple; bh=DP+n9usiBXip5rVmhScm0KdfxHTtauFNDm805pI6y5w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=YuQ+om5/Qqw2ZHR0tepj7r1nJxr3v8TzQATs8AEI0Hykd8Ek40RKSfEuzOBbpsi6Qx7Hc/3A6iJxg6S3DROqnTPEkD9BSrePbossoBaiV94RmyDbt2kSGlAJC+WsAUIMOym5t0xZuVmumP8bUSx5YDTHJyHtVhbNtRUg6NCOoZg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=FTigfY7H; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=qzROD3pE; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="FTigfY7H"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="qzROD3pE" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 67558q6d2591634; Wed, 5 Aug 2026 07:42:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=m+gyEeEz69X0jwC97Q1n+yBolFz4Cz/T2S7wFf1J45A=; b= FTigfY7HCIZFMzLc8MybGRhlPLmPzyUlWQCEFJ2wr+Wwt0ASxxwi/tXDdmQiCh3q KAXfRlQ0AcWIkoYwp9zGbqjF67JN9EARO24T92v1qn9MV/ID+3BjJVV0XjMVYXMl ZMzeUHLg6/BogBFDTs/2zV/28GA3p5ukQ9snWbMN2kzrpPvi6zecrCxdcrxCMfnK JIsHDf6nhUxjfXe+RATnOBZ5v0dQCvPNrjoJOhddWSIfC0GvZifYNvWZv18ysTEs BbjL5SrbuJe1aF6x72jNqmXSk3r5CMNl/zgpzBMMpomjMQCUhTeJ0z8tllX2ZAdC YaGffXF6Sb+G8eSXuelqsg== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11020124.outbound.protection.outlook.com [52.101.193.124]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4fsd7h5pe2-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:16 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TQ35LwQcZvpU8YdYzrErQsDyQ1GeJ5C3HfA/qZvQ8+g9pfjeGub5EaK1+aJhgJnh5iP/oWc0YCPYb/JkMeSsBrtbQ/5FT50fHfPs5yPfqWpjF/Ph9xuMaotnsUgMxFWPZUqSdtCDUzRpkCVKrrRV8RczMJ27vsOMrsGhikXljcH8VyLsPO9UVZA6CKT9WVWMgScibaIl4+/sM13Oq8/GqOGqKKJz0+CmopKBQsmlWD57/LEHCz/WD4QMpGpMVUcL3Day3xZHRv+PmVTtlq2jKjXUAZNQGcEXJ5wMsk+pDorjODx71UTbyDx1M2p8Yz3JciS3Hk5fcLW640btHelijA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=m+gyEeEz69X0jwC97Q1n+yBolFz4Cz/T2S7wFf1J45A=; b=Uydlvln0j89P29INlM7HQtjdzfzQK82tJPs+LcdBiud+0UYJOVxCXC77Ma4XzoqDU3rUs/tIP5cGVGSAbRdXxhQPjm5cTS3X47xppSmJzkMqbs16bRinVERTZCfzFZWdcrOkKaVAmC9kiF1DmRkfNu3nkV0HMfOC4xzRBKhmbAYZ1lcI2qzMyuCSHSTt+wgCsxW9uSkWKTSDHHQrGDqRPZBGW9Wen7NFaHD05d8sbXajr+dH0X6WF4juCv9p32P81mRrsjIID3xl2wtw2KQZFW9vWL+J1WoyiK/coxicYCAFfQVwH1WyIeYVolYi8A0M6Ui+3oQ+YheXSxFxPjAZUg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m+gyEeEz69X0jwC97Q1n+yBolFz4Cz/T2S7wFf1J45A=; b=qzROD3pEnyy99lb2kPpkA3rZj02qfFcuwR/nem8E7uAcg8ge3sg1hjom30IayOLI1u4nuY4QOjvPvnZ9vdzl1yBYqHljXYtpjpWT4IqO0UGbQiCp3FfFtBbg1a5UHI6Yayrodf2Bz8fIPe7FvHvDeQzT8GzjOLcUFpmL01Dp/6M= Received: from CY5PR22CA0100.namprd22.prod.outlook.com (2603:10b6:930:65::28) by PH3PPFD6D301256.namprd19.prod.outlook.com (2603:10b6:518:1::c54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.17; Wed, 5 Aug 2026 12:42:12 +0000 Received: from CY4PEPF0000EE34.namprd05.prod.outlook.com (2603:10b6:930:65:cafe::54) by CY5PR22CA0100.outlook.office365.com (2603:10b6:930:65::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.16 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by CY4PEPF0000EE34.mail.protection.outlook.com (10.167.242.40) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 8AFA7406552; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 7420A822544; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 3/8] ASoC: SDCA: Move HID registration to IRQ time Date: Wed, 5 Aug 2026 13:42:00 +0100 Message-ID: <20260805124205.4152543-4-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE34:EE_|PH3PPFD6D301256:EE_ X-MS-Office365-Filtering-Correlation-Id: 7207f022-ca92-4b78-0e77-08def2eef82e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|23010399003|376014|7416014|61400799027|82310400026|6133799003|56012099006|10067099003|11063799006|16102099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: xWIf5zGshy1VLuaqJY32visw73iWqVurUI9+NIL/Pp0C27umB5rm6VKMk/mFAwAWm03kPtqJ4SFx2DdP6+o5rFiIv+/7Tt8WWLegMHlTxYR1V4ULZ4mrbqaQH5GrS0Mh25pbHwTVwwRDcbm/CFM/WtukZYl9L8c6G65npy3Yebm777V7PAZ7jnkchuFZphivVGqaBlpWcwji0wosbEwAjMo43saLuDAGV2L0vcayMzJ/phPbeGQ/I8aTtG+/UIkp5CL6IVVERXm99u23lBBneAVd1s0KJs7fElRtqUuOHOwhVDBZ+arzISqrCDI2rtSmK8KASwKqK/qcnJERCMU1qdiZTGSvcY/KCPx2hUVsywUUT01RL21Sy8sWUOS8B5SDi/kYPGtSgqJZCorEhI/PGYIlkHNn649MlJf7LCf7GKly92xuPqBzFvQC3cNIJDaql+IGolGGBWKqvacJg0g1TzALFS8aUdCMR9IT+gsJ4mluIhuiaCUV9wqWUIa/AUROPTxN3mffhJoZWiXq6HeWIYwJuWDrHlMGrMClVkyVIFPkk7ZJtPEAzjDxLZRXctDDRlhxNSiP2k4XYxNiytcKrMd1yMSZvMCxJwChR2UO/NUSypSnETt2TbDfL4mzkD3jMFT5aEyGamwzcEebY2hHrvbhuWaNiImmRLkJjB+aXwzPYPoBG1flDO6mYPZGmCkN9R5XywHnNTKUjERiRUmVgQ== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(23010399003)(376014)(7416014)(61400799027)(82310400026)(6133799003)(56012099006)(10067099003)(11063799006)(16102099003)(22082099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 77s/6uqXLCl/N/fd89cF1XLQ21yKXN7RcnfeqL6f53fsz6xYFi53iYK3mhOqKKouDG3I9zorDV/9EVTPrD0nQLuzqT2Ma14XSrr9wVQEs5V3R3FrLYn85t52RfmDpUAnldmzhfPkMFGudIHG28IUnzt1mzvQt9a/Uut9ji4tJWhDMCNo/q1GUSFmKEcJWJ37R7WQKqDfWWfAKu0oGRJ+djslAfC6WNAzlBTVAD/7X77uMHJNFr0pLGcJ58qhFwRSRDkBlw3m54/vKFUQVk6iJQZohSUONZXPbvN1MkgWpeyU0Qw1BqSfm0WiVfMY/MRfT8iaTy8tCk9hMT7lrQ03pg4EIIoP+by15XPt8eCMF3dzESNWo+5aVK+F8nKMbsDJC+uuzTRud7b+rLE1TsvGVtnK3+BPZgno8VeaTdiFrymyg7y5WZo2gBt+MH8qkj+e X-Exchange-RoutingPolicyChecked: ENhCJe5VPJ1X3RzmmOwysdhrhMFvS7vvh3sdCxriXcr4dKUEak0/qXu0zbsz4tqC8rV/lGRC7wJzTUz05I/Z8pgdFvnxar8XxhPJ9z2lTyLmuxJQMd1ge8u5Cqbcn5GfBlazalWYeOIPlKqortQCaGqVyQlbWJZn2HhWvwCT8aLqBQTX1jIs8n+sRLR8s1TGa+HaQkV7dyj7M3BNHT+HYrLNMyRbiBQaHwAAT8EbR2NSj1e2O2MCPcMFiaBoOx/rUgIApNtGY5aHHrujeIJFJH/aF6mS27/eLiuaB9saAswW9yFQQ8rOj7+hCGVXtmsMlFo1RLuQQJ7LepbdZbMYuw== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:11.0183 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7207f022-ca92-4b78-0e77-08def2eef82e X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-CY4PEPF0000EE34.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPFD6D301256 X-Authority-Analysis: v=2.4 cv=ZK/nX37b c=1 sm=1 tr=0 ts=6a732fa9 cx=c_pps a=gCYXggIpC+w3u2dojYR5Vg==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=wyvOC-j1VmNzcFmTlIYA:9 a=O8hF6Hzn-FEA:10 X-Proofpoint-GUID: iwJNTFqxe2RrIhkt52z-6ysCbhxkjCH7 X-Proofpoint-ORIG-GUID: iwJNTFqxe2RrIhkt52z-6ysCbhxkjCH7 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX89ZaXj4lf6Bv RWhn/6z25t6z2qAfHnXOv33n5DiLseRIp2ILSpFSY7DpaztNQuLW/GmX0HG9qYNJl+oPxab3XXe xhXmOb02VHl6auLtsqpRK8gNCWYJg77LFFNqy+FmSvM7160uTIKJSiXCIOl2z7/lQnt0nX54VB6 Xr4ZQVdwAETR0spfHxi3oj6Pvhei2dt6AP6GHynmrSNDr9xgACvBBMHDiz8+/W/NzUBv+ob4ZBa Ixd/c+rPB1Qq5fWYmMcjXiWxfTgrL88d2AbhHtes9wgJwx5u0IcyzaAd61ALVGPSpvLPeNxLi28 vpejxQqioGNzc+16Q5MrH+O1xwJDgvSr4tJAtxMCbbGl92DFxloyK87SKZ/8jg9ENo92Qeuo4yP DxFYXPGQvyvM7U7oI9nuZtwFatVEgpd0AR43m6JtK42e35lqDIZFKI+/FXXCAR8Io0oA8nKZE5h F8a6TNW/SvBx6EHANpw== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX+zQQRci6EuVl aDisqcE1QFnCKlzIFO9hV+mCg5enmh4xQkwt+KqEEk7z2NoqSRwPzEdNi/ZWmJA7b2LeDJw62LV RzJy78W7vmsId67YHclSmJVJ3SVfbtg= X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Currently, the SDCA code registers the HID device whilst parsing the DisCo information. This necessitates storing the HID device in the DisCo structs, which are intended to only store the parsed DisCo. Having the HID device registered so early in the process also causes some issues with cleaning up. Update the code to register the HID device as the IRQs are handled, this alleviates the previous concerns and brings the support inline with the other SDCA event handling. As part of this move the naming for the SDCA HID is also updated, it saves some complexity around the passing of the SoundWire device to include this in this patch. Update to using the dev_name for the phys, which is more consistent with other HID users, and use the actual function name/address for the HID name itself. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- include/sound/sdca_function.h | 2 -- include/sound/sdca_hid.h | 6 ++---- sound/soc/codecs/rt766-sdca.c | 22 +++++++++++++++++++--- sound/soc/codecs/rt766-sdca.h | 2 ++ sound/soc/sdca/sdca_functions.c | 24 ++++++------------------ sound/soc/sdca/sdca_hid.c | 21 ++++++++++----------- sound/soc/sdca/sdca_interrupts.c | 4 ++++ 7 files changed, 43 insertions(+), 38 deletions(-) diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h index fb931ae735a27..35799a9771454 100644 --- a/include/sound/sdca_function.h +++ b/include/sound/sdca_function.h @@ -1116,7 +1116,6 @@ struct sdca_entity_ge { =20 /** * struct sdca_entity_hide - information specific to HIDE Entities - * @hid: HID device structure * @num_hidtx_ids: number of HIDTx Report ID * @num_hidrx_ids: number of HIDRx Report ID * @hidtx_ids: HIDTx Report ID @@ -1131,7 +1130,6 @@ struct sdca_entity_ge { * @hid_desc: HID descriptor for the HIDE Entity */ struct sdca_entity_hide { - struct hid_device *hid; unsigned int *hidtx_ids; unsigned int *hidrx_ids; int num_hidtx_ids; diff --git a/include/sound/sdca_hid.h b/include/sound/sdca_hid.h index 18bebbe428c9f..83d1c7768133b 100644 --- a/include/sound/sdca_hid.h +++ b/include/sound/sdca_hid.h @@ -16,14 +16,12 @@ struct sdca_interrupt; =20 #if IS_ENABLED(CONFIG_SND_SOC_SDCA_HID) =20 -int sdca_add_hid_device(struct device *dev, struct sdw_slave *sdw, - struct sdca_entity *entity); +int sdca_add_hid_device(struct sdca_interrupt *interrupt); int sdca_hid_process_report(struct sdca_interrupt *interrupt); =20 #else =20 -static inline int sdca_add_hid_device(struct device *dev, struct sdw_slave= *sdw, - struct sdca_entity *entity) +static inline int sdca_add_hid_device(struct sdca_interrupt *interrupt) { return 0; } diff --git a/sound/soc/codecs/rt766-sdca.c b/sound/soc/codecs/rt766-sdca.c index 4c5acd950d70f..54ed0c42fba2f 100644 --- a/sound/soc/codecs/rt766-sdca.c +++ b/sound/soc/codecs/rt766-sdca.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -33,7 +34,6 @@ static int rt766_sdca_btn_detect(struct sdca_interrupt *interrupt) { struct rt766_sdca_priv *rt766 =3D interrupt->priv; - struct sdca_entity *ent_hid =3D interrupt->entity; unsigned char *buf =3D NULL; unsigned int offset, owner, length; unsigned int det_mode, idx, val; @@ -85,8 +85,8 @@ static int rt766_sdca_btn_detect(struct sdca_interrupt *i= nterrupt) buf[idx] =3D val & 0xff; } =20 - if (ent_hid) - hid_input_report(ent_hid->hide.hid, HID_INPUT_REPORT, + if (rt766->hid) + hid_input_report(rt766->hid, HID_INPUT_REPORT, buf, length, 1); } =20 @@ -191,6 +191,13 @@ static irqreturn_t rt766_sdca_irq_jd_handler(int irq, = void *data) return IRQ_HANDLED; } =20 +static void rt766_sdca_destroy_hid_device(struct sdca_interrupt *interrupt) +{ + struct rt766_sdca_priv *rt766 =3D interrupt->priv; + + hid_destroy_device(rt766->hid); +} + static int rt766_sdca_irq_ctl(struct rt766_sdca_priv *rt766, struct sdca_function_data *function, struct snd_soc_component *component, @@ -231,6 +238,15 @@ static int rt766_sdca_irq_ctl(struct rt766_sdca_priv *= rt766, if (ret) return ret; =20 + if (handler =3D=3D rt766_sdca_irq_btn_handler) { + ret =3D sdca_add_hid_device(interrupt); + if (ret) + return ret; + + interrupt->free_priv =3D rt766_sdca_destroy_hid_device; + rt766->hid =3D interrupt->priv; + } + interrupt->priv =3D rt766; ret =3D sdca_irq_request(dev, info, irq, interrupt->name, handler, interrupt); diff --git a/sound/soc/codecs/rt766-sdca.h b/sound/soc/codecs/rt766-sdca.h index 5acdb83a42fb8..de4064007eb9b 100644 --- a/sound/soc/codecs/rt766-sdca.h +++ b/sound/soc/codecs/rt766-sdca.h @@ -8,6 +8,7 @@ #ifndef __RT766_H__ #define __RT766_H__ =20 +#include #include #include #include @@ -41,6 +42,7 @@ struct rt766_sdca_priv { struct sdca_function_data *sa_func_data; struct sdca_function_data *hid_func_data; struct sdca_interrupt_info *irq_info; + struct hid_device *hid; }; =20 /* vendor registers */ diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_function= s.c index cdf1e68d60ac5..e9b449b670332 100644 --- a/sound/soc/sdca/sdca_functions.c +++ b/sound/soc/sdca/sdca_functions.c @@ -18,7 +18,6 @@ #include #include #include -#include =20 /* * Should be long enough to encompass all the MIPI DisCo properties. @@ -1366,8 +1365,7 @@ static int find_sdca_entity_ge(struct device *dev, } =20 static int -find_sdca_entity_hide(struct device *dev, struct sdw_slave *sdw, - struct fwnode_handle *function_node, +find_sdca_entity_hide(struct device *dev, struct fwnode_handle *function_n= ode, struct fwnode_handle *entity_node, struct sdca_entity *entity) { struct sdca_entity_hide *hide =3D &entity->hide; @@ -1440,13 +1438,6 @@ find_sdca_entity_hide(struct device *dev, struct sdw= _slave *sdw, hide->hid_report_desc =3D report_desc; fwnode_property_read_u8_array(function_node, "mipi-sdca-report-descript= or", report_desc, nval); - - /* add HID device */ - ret =3D sdca_add_hid_device(dev, sdw, entity); - if (ret) { - dev_err(dev, "%pfwP: failed to add HID device: %d\n", entity_node, ret= ); - return ret; - } } } =20 @@ -1475,8 +1466,7 @@ static int find_sdca_entity_xu(struct device *dev, return 0; } =20 -static int find_sdca_entity(struct device *dev, struct sdw_slave *sdw, - struct sdca_function_data *function, +static int find_sdca_entity(struct device *dev, struct sdca_function_data = *function, struct fwnode_handle *function_node, struct fwnode_handle *entity_node, struct sdca_entity *entity) @@ -1528,8 +1518,7 @@ static int find_sdca_entity(struct device *dev, struc= t sdw_slave *sdw, ret =3D find_sdca_entity_ge(dev, entity_node, entity); break; case SDCA_ENTITY_TYPE_HIDE: - ret =3D find_sdca_entity_hide(dev, sdw, function_node, - entity_node, entity); + ret =3D find_sdca_entity_hide(dev, function_node, entity_node, entity); break; default: break; @@ -1544,8 +1533,7 @@ static int find_sdca_entity(struct device *dev, struc= t sdw_slave *sdw, return 0; } =20 -static int find_sdca_entities(struct device *dev, struct sdw_slave *sdw, - struct fwnode_handle *function_node, +static int find_sdca_entities(struct device *dev, struct fwnode_handle *fu= nction_node, struct sdca_function_data *function) { struct sdca_entity *entities; @@ -1596,7 +1584,7 @@ static int find_sdca_entities(struct device *dev, str= uct sdw_slave *sdw, return -EINVAL; } =20 - ret =3D find_sdca_entity(dev, sdw, function, function_node, + ret =3D find_sdca_entity(dev, function, function_node, entity_node, &entities[i]); fwnode_handle_put(entity_node); if (ret) @@ -2214,7 +2202,7 @@ int sdca_parse_function(struct device *dev, struct sd= w_slave *sdw, if (ret) return ret; =20 - ret =3D find_sdca_entities(dev, sdw, node, function); + ret =3D find_sdca_entities(dev, node, function); if (ret) return ret; =20 diff --git a/sound/soc/sdca/sdca_hid.c b/sound/soc/sdca/sdca_hid.c index abbd56a3d2971..ea511c6f9798e 100644 --- a/sound/soc/sdca/sdca_hid.c +++ b/sound/soc/sdca/sdca_hid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -85,10 +86,11 @@ static const struct hid_ll_driver sdw_hid_driver =3D { .raw_request =3D sdwhid_raw_request, }; =20 -int sdca_add_hid_device(struct device *dev, struct sdw_slave *sdw, - struct sdca_entity *entity) +int sdca_add_hid_device(struct sdca_interrupt *interrupt) { - struct sdw_bus *bus =3D sdw->bus; + struct device *dev =3D interrupt->dev; + struct sdca_function_data *function =3D interrupt->function; + struct sdca_entity *entity =3D interrupt->entity; struct hid_device *hid; int ret; =20 @@ -102,12 +104,9 @@ int sdca_add_hid_device(struct device *dev, struct sdw= _slave *sdw, hid->bus =3D BUS_SDW; hid->version =3D le16_to_cpu(entity->hide.hid_desc.bcdHID); =20 - snprintf(hid->name, sizeof(hid->name), - "HID sdw:%01x:%01x:%04x:%04x:%02x", - bus->controller_id, bus->link_id, sdw->id.mfg_id, - sdw->id.part_id, sdw->id.class_id); - - snprintf(hid->phys, sizeof(hid->phys), "%s", dev->bus->name); + strscpy(hid->phys, dev_name(dev)); + snprintf(hid->name, sizeof(hid->name), "SDCA %s:%02x", + function->desc->name, function->desc->adr); =20 hid->driver_data =3D entity; =20 @@ -118,7 +117,7 @@ int sdca_add_hid_device(struct device *dev, struct sdw_= slave *sdw, return ret; } =20 - entity->hide.hid =3D hid; + interrupt->priv =3D hid; =20 return 0; } @@ -133,7 +132,7 @@ EXPORT_SYMBOL_NS(sdca_add_hid_device, "SND_SOC_SDCA"); int sdca_hid_process_report(struct sdca_interrupt *interrupt) { struct device *dev =3D interrupt->dev; - struct hid_device *hid =3D interrupt->entity->hide.hid; + struct hid_device *hid =3D interrupt->priv; void *val __free(kfree) =3D NULL; int len, ret; =20 diff --git a/sound/soc/sdca/sdca_interrupts.c b/sound/soc/sdca/sdca_interru= pts.c index 42fbd3af8a754..71037189a057c 100644 --- a/sound/soc/sdca/sdca_interrupts.c +++ b/sound/soc/sdca/sdca_interrupts.c @@ -487,6 +487,10 @@ int sdca_irq_populate_early(struct device *dev, struct= regmap *regmap, } break; case SDCA_CTL_TYPE_S(HIDE, HIDTX_CURRENTOWNER): + ret =3D sdca_add_hid_device(interrupt); + if (ret) + return ret; + interrupt->handler =3D hid_handler; break; default: --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 2452B352017; Wed, 5 Aug 2026 12:42:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; cv=fail; b=oBBQ+LFz6EuZjQ5ampWG3koi2kjefceq8CtPe8KYFi4hPO+hDVTT7eRMFW3NvUoUzJiaujoeol16kzvpDrhq7X//Ok7kYY20/TWLqA5EKJXZy2cCuesAAwPU9CT9qTltMXOjkDppO4i/tEZYLmltoleDJv5qjMoZ7FHKyBPWYBQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; c=relaxed/simple; bh=41FYardRGEFFZe94ddnNDdzWAKSOBxlB8vDd2IfjkMU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gyO9SYjXrBWklCRCIl+vSTRldei/BxWNhyMpdtVBKvglv0r46FtB1ykoRK9FJyLbZab7ttX3cgW9G6sffOmt3CqKX4oMJvxmCe4S6gmxSsGrG3IJOjOGzj2qEm381nIne5xpMjUcDhS96Z8YSAfaHwJoqqLQJXI4kSmz4V5vI1M= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=MSKCJZdu; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=eo9g+X88; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="MSKCJZdu"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="eo9g+X88" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6755964w2591917; Wed, 5 Aug 2026 07:42:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=69JHUfgzR8vARAyiL0wV+vFjqq4F/nYbCZHoOlCFGok=; b= MSKCJZdue+fJhxC9iGX7/nWC1utKSsvdmK39l86nCf7yuKuPM+lZQSrJZr7qwtwX e0vpRILeoOPN6/mtrLLL69lMFU7Ptd5actBPoofmmk69IXV92DIi7piWX0HOc+v3 Jh9wz/p9iXdw8SRdXMJNrqoBMfBi2pxBJutXmyCOdJGGP7+O8t63ybmUBBGvYCwn u2a6B0aesEnTySkPkl8M6A/c/+W/oW4SGUoLJfSNbO3avrR408PYYB8okYdKMTzs bLUUWcO/fj8HaL+2xbhqasgYNofvrjcfJcUybfYrrLRv/gZJ40LsM0LjsDGysnO+ HTuvU73Tw2i+zWjGBLvdjg== Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11022103.outbound.protection.outlook.com [40.93.195.103]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4fsd7h5pe7-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:17 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pokSfALvtmWKOSzstuQ6QCw5A5W2aTCDvISb56m0zCV7Cayk2C5vOl5anBfnN7jI8zMFJot6ju0p5V8sGjTNKA8PkTnNqJjjSnRRQqgO0hD34VPmLszIm3erMEOW6sosWMN4qlO+3c/kQLOpbz+l1tvXLWd6RtiUEqcZsltzZPpTkuU5kwkAD9wILCnd5rzjzG0zUauCPxzA5oRcGXGSAosCrdxk27GxBpHDtaxQB2SPJp6uFmnRCvf8/b/9XuFw3yu+uvar+JEVEd2PIDMUQGbAiSS3Q47z9CLeFBTrPYRYotO4Y24kC38ngv+zxq+H7lXJmL85Gh8xjUVYV8g4gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=69JHUfgzR8vARAyiL0wV+vFjqq4F/nYbCZHoOlCFGok=; b=KE9ISEGQkT/Ul+V36shhnAYNNFbHSYZjMqJbromdxFBGkeKdfuhM9ofeIhzxb08ZkzzaPKuKQ/74ZG5s6G+jwVJG5bV0uMNaFy6JCUkJ6ZvUbUKuEwSN1R6t+9S2slD1aajzdyg+dJkhnR8wd+wZ64psZ/ACvq+txUBL5Wa0MkZIFxi3Y+raOCEzNtDBHP9N+Uoy9ZvI5Ww57lNpIxrwO2HbLYHgkzeK8KeUBOx5TpVjCc1DJWlh3A5Yp/HGqUw6mddobPCW+moGdvo65qTq7BsaDw4lmk/miIpKfcn3iwoSDVcCedgPHsTCeehN+Q1VLW1kBbF6Hc1iW2WkCHRPlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=69JHUfgzR8vARAyiL0wV+vFjqq4F/nYbCZHoOlCFGok=; b=eo9g+X88+lvKJRb71m/aIrYTl9AFoYs8rmKig/4RlmRX/7iC3x+8LI5BHtpiAthQFI1rKPon7duSliMl+hwWWqWhpjFFgg35GymapNgLy7VO4Y9tw/dFSWP+plwORPSFAYtNKaY/IlkW0pJdZKHhoorgCtnfmCd+c/FjJIIUkHQ= Received: from CH2PR12CA0015.namprd12.prod.outlook.com (2603:10b6:610:57::25) by SA7PR19MB997352.namprd19.prod.outlook.com (2603:10b6:806:4cf::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.18; Wed, 5 Aug 2026 12:42:13 +0000 Received: from DS3PEPF0000C37F.namprd04.prod.outlook.com (2603:10b6:610:57:cafe::7b) by CH2PR12CA0015.outlook.office365.com (2603:10b6:610:57::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.16 via Frontend Transport; Wed, 5 Aug 2026 12:42:13 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by DS3PEPF0000C37F.mail.protection.outlook.com (10.167.23.9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:12 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 964D1406558; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 7A386822542; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 4/8] ASoC: SDCA: Move HID descriptors to function Date: Wed, 5 Aug 2026 13:42:01 +0100 Message-ID: <20260805124205.4152543-5-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37F:EE_|SA7PR19MB997352:EE_ X-MS-Office365-Filtering-Correlation-Id: 465f1aae-1e4e-41be-0afd-08def2eef94f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|61400799027|82310400026|376014|7416014|23010399003|10067099003|11063799006|6133799003|56012099006|16102099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: zROqiIp52NTxGVWT5Gzfsn5SAYWz4KcRxLNhOPqBhqcnz/OVfoNzZbsesUAh2YK8qgCtx8LIeYB1dIlrybSQwUaAPTizaW8YDMNGuH7cEC87WsZ1aFYZcdG3zfSIrWEc/82uH4CFTEzrt+RSfoqlkxM/BGujoQfWDYEqV1U1qZIS6+nTys58ntocd9/fpBpwRXNW9ejNFmIGExvDws9y7cjSkpLx2RQfNTwNJinhI64LBZLPUxozvuWQkjvOFY90104KB373jc82JQUrUSFHQp8CLbsJODVT4Cl2H+MzyWn9CG/lxw2WKSCX4ukZHdT4CjvdaOTRh+KMDNjrkRKEGFjQQlPrY/KWEiwjZp1StN+vL7doxgRCUnZodUVepv3lSiRAWc2Pi7re2fu/Pive7axXJ6TX/ceU9PONcc/Zt7H/KMiMPDJe5do/Epv7ssQTWcKgwQEIFYXKxnTunoG9Lh98ndXr9URaBg5bGVguB0SuiSobFrgLXFTzGPLxkaoGSmF6DtciV2aTQ+Cn3lk0CchG6CdisWU3InEx9iJglxQxhX/hIFhesHuNyy4pO8pOZ7+CissnKEucWGpTeGwsIQApnMQV914kKbi3ca7N6p6kVik/4DICmiWNkjZkRXNJrCpl4Lye8m6+mWR+rLH77NlY5cUej2ekSYVQ2Eu6YzShQmhJOmhEdGk696Y2Nt1DDPdeReBQ7Ji7M8GoT+3dmA== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(61400799027)(82310400026)(376014)(7416014)(23010399003)(10067099003)(11063799006)(6133799003)(56012099006)(16102099003)(22082099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 565O6EIWxoM9tPeO29ZztEYRjAmkxL1RHLs4W+L+5bNgq7hiz04mtPieuwRGDFc47B5ofiyanuag8w9ohZUJgEqTZ0+Emc9MASXcGjcu20TQ5UjRfYNxsH1sJDzRVUwjnHFFIIYs2+3MvJ2AcnC4UbUNSLe6hBIC6vfKwi2fWt8IQCP0muKUMjRodWSdH2M5r1/Tg+HLt7qsyayGDdWa38PaCxSkhB1aDhG3Qco3yWBj7KgOCOhD4iL7K2sPeQKTBvQ3QmFJw8pVuY+vTJ8PfO4eGMN/YQwLGml0y3rPDSzxZ60HSmcE/bFTU5EXaEzSKi9wggwpL97LKbHStQmKK64ZyoZjKsRFcLP0KajXVf4XupTfc3Ynr/bHMIdRE/7rvD4EBIG3M8fAQw/7BuBHSYCeFKFl1+7sI7FnH+SRcUdbmIYONFbiTbPZxONTjthK X-Exchange-RoutingPolicyChecked: N7ohWJR5nWetfSLC6c91110E/f0AUtEv28pTy3G/JAVXKxuI8B/8Cx68sw3MPSwS0DCVq/bMsYk5M03jlQdxZ/B2SrSRYEeTdFFd3trvT1iC+1beEypZ9Jws7f0vLGnPA4sOl3J9+gXXozOmqPf5EVa2XTKduZHzljUrCtLsfUQoT7OHgWdlnqffiCFYimM3i0lvljsv+sLlri3aIu1hcQtOp4gRGd/fuo8+0TacKVIDiO+dZDxsJRIbfWFnFzlR367qWew49XDnVl6tDcbkCaUCPYRmGvCAyP+1lOrJ+pJEzQeOoVTrqLUpqGdrMpp6Upujb6l6vM+boKbJV3MxLg== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:12.9359 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 465f1aae-1e4e-41be-0afd-08def2eef94f X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-DS3PEPF0000C37F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA7PR19MB997352 X-Authority-Analysis: v=2.4 cv=ZK/nX37b c=1 sm=1 tr=0 ts=6a732fa9 cx=c_pps a=dTL/NSpv458ZJk1fBD1pSQ==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=5O3Bb7otnqWnkzufcSAA:9 a=O8hF6Hzn-FEA:10 X-Proofpoint-GUID: uq0DUTf9-YK80skwRf8gILo8QCoyv5k0 X-Proofpoint-ORIG-GUID: uq0DUTf9-YK80skwRf8gILo8QCoyv5k0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfXy1TUBllln0rq rDyrQNJcUX2/Dp9MvtkmneXOjSG3oPe7iuSujuoeU/7U+Jdlxyq8/5OFt6yumT3UclOxltxgZ+y pVCcqiu9LfqE9V2L5KqCGzHPMJXg/ZD3urolOFwrx9q98mrpHKimuD2kBD9HgKAmPvc627y5H3O U6g3AIiRoifUQL3pvUqFo83PECyQ9iimusbGPyiBMVyMZxT9+5tRSU0jzv2vQWv3mFXGFvjRNQ4 Q7q8z3Pilo+IhvTxjptEDBVvlCRvxY8yFwaDa01R0nu0+2bcUrbUm9sIk0p/tU9iD66QZoJzYAq m6Et7PNtfzchbZHc+SlxJGVdRc+HsGW0wYuHTaKrGnHWyE8V2LN8hinzGECnwKQtrH+Xsb3MC1S PLIJ5iaLuXhmKqtDb87s1aR6wPirSgAZa4RLtzgUZOK/s2B2Ssg942havcOlnkLX/eQM4mgSxy5 F61syVxxSmC8LFmnxuA== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX4pqj1RkGGtIR Da73uoiW/2dzCZ42Ul4hMIWx3IdJIHTiu7cHkfpQXi6Fx++hNWqmK2HCflrXAO+ufdwgTxxin0n bpiy/5jRt1snwCA4BvbQvWkW3PyPLhw= X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" The HID descriptors are defined at the function level in DisCo and as such it makes more sense to parse and store them at that level in the SDCA code. This shouldn't really make much practical difference but is conceptually better and avoids passing the function node down to the entity parsing code. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- include/sound/sdca_function.h | 19 ++++++++-- sound/soc/sdca/sdca_functions.c | 65 ++++++++++++++++++++++----------- sound/soc/sdca/sdca_hid.c | 11 +++--- 3 files changed, 63 insertions(+), 32 deletions(-) diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h index 35799a9771454..72441ed5eba49 100644 --- a/include/sound/sdca_function.h +++ b/include/sound/sdca_function.h @@ -1126,8 +1126,6 @@ struct sdca_entity_ge { * within this Device * @max_delay: the maximum time in microseconds allowed for the Device * to change the ownership from Device to Host - * @hid_report_desc: HID Report Descriptor for the HIDE Entity - * @hid_desc: HID descriptor for the HIDE Entity */ struct sdca_entity_hide { unsigned int *hidtx_ids; @@ -1137,8 +1135,6 @@ struct sdca_entity_hide { unsigned int af_number_list[SDCA_MAX_FUNCTION_COUNT]; unsigned int hide_reside_function_num; unsigned int max_delay; - unsigned char *hid_report_desc; - struct hid_descriptor hid_desc; }; =20 /** @@ -1399,6 +1395,16 @@ struct sdca_fdl_data { int num_sets; }; =20 +/** + * struct sdca_function_hid - information about a function's HID descripto= rs + * @report_desc: HID Report Descriptor for the HID Function + * @desc: HID descriptor for the HID Function + */ +struct sdca_function_hid { + unsigned char *report_desc; + struct hid_descriptor desc; +}; + /** * struct sdca_function_data - top-level information for one SDCA function * @desc: Pointer to short descriptor from initial parsing. @@ -1413,6 +1419,7 @@ struct sdca_fdl_data { * @reset_max_delay: Maximum Function reset delay in microseconds, before = an * error should be reported. * @fdl_data: FDL data for this Function, if available. + * @hid: HID data for this Function, if available. */ struct sdca_function_data { struct sdca_function_desc *desc; @@ -1428,6 +1435,10 @@ struct sdca_function_data { unsigned int reset_max_delay; =20 struct sdca_fdl_data fdl_data; + + union { + struct sdca_function_hid hid; + }; }; =20 static inline u32 sdca_range(struct sdca_control_range *range, diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_function= s.c index e9b449b670332..e49acfe49e289 100644 --- a/sound/soc/sdca/sdca_functions.c +++ b/sound/soc/sdca/sdca_functions.c @@ -1364,14 +1364,13 @@ static int find_sdca_entity_ge(struct device *dev, return -EINVAL; } =20 -static int -find_sdca_entity_hide(struct device *dev, struct fwnode_handle *function_n= ode, - struct fwnode_handle *entity_node, struct sdca_entity *entity) +static int find_sdca_entity_hide(struct device *dev, + struct fwnode_handle *entity_node, + struct sdca_entity *entity) { struct sdca_entity_hide *hide =3D &entity->hide; unsigned int delay, *af_list =3D hide->af_number_list; int nval, ret; - unsigned char *report_desc =3D NULL; =20 ret =3D fwnode_property_read_u32(entity_node, "mipi-sdca-RxUMP-ownership-transition-max-delay", &delay); @@ -1424,23 +1423,6 @@ find_sdca_entity_hide(struct device *dev, struct fwn= ode_handle *function_node, fwnode_property_read_u32_array(entity_node, "mipi-sdca-hide-related-audio-function-list", af_list, nval); =20 - nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-hid-descripto= r"); - if (nval) - fwnode_property_read_u8_array(function_node, "mipi-sdca-hid-descriptor", - (u8 *)&hide->hid_desc, nval); - - if (hide->hid_desc.bNumDescriptors) { - nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-report-descr= iptor"); - if (nval) { - report_desc =3D devm_kzalloc(dev, nval, GFP_KERNEL); - if (!report_desc) - return -ENOMEM; - hide->hid_report_desc =3D report_desc; - fwnode_property_read_u8_array(function_node, "mipi-sdca-report-descript= or", - report_desc, nval); - } - } - return 0; } =20 @@ -1518,7 +1500,7 @@ static int find_sdca_entity(struct device *dev, struc= t sdca_function_data *funct ret =3D find_sdca_entity_ge(dev, entity_node, entity); break; case SDCA_ENTITY_TYPE_HIDE: - ret =3D find_sdca_entity_hide(dev, function_node, entity_node, entity); + ret =3D find_sdca_entity_hide(dev, entity_node, entity); break; default: break; @@ -2167,6 +2149,35 @@ static int find_sdca_filesets(struct device *dev, st= ruct sdw_slave *sdw, return 0; } =20 +static int find_sdca_hid(struct device *dev, struct fwnode_handle *functio= n_node, + struct sdca_function_data *function) +{ + int nval; + + nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-hid-descripto= r"); + if (nval) + fwnode_property_read_u8_array(function_node, "mipi-sdca-hid-descriptor", + (u8 *)&function->hid.desc, nval); + + if (function->hid.desc.bNumDescriptors) { + nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-report-descr= iptor"); + if (nval) { + unsigned char *report_desc; + + report_desc =3D devm_kzalloc(dev, nval, GFP_KERNEL); + if (!report_desc) + return -ENOMEM; + + function->hid.report_desc =3D report_desc; + fwnode_property_read_u8_array(function_node, + "mipi-sdca-report-descriptor", + report_desc, nval); + } + } + + return 0; +} + /** * sdca_parse_function - parse ACPI DisCo for a Function * @dev: Pointer to device against which function data will be allocated. @@ -2218,6 +2229,16 @@ int sdca_parse_function(struct device *dev, struct s= dw_slave *sdw, if (ret) return ret; =20 + switch (function->desc->type) { + case SDCA_FUNCTION_TYPE_HID: + ret =3D find_sdca_hid(dev, node, function); + if (ret) + return ret; + break; + default: + break; + } + return 0; } EXPORT_SYMBOL_NS(sdca_parse_function, "SND_SOC_SDCA"); diff --git a/sound/soc/sdca/sdca_hid.c b/sound/soc/sdca/sdca_hid.c index ea511c6f9798e..5000d73657b41 100644 --- a/sound/soc/sdca/sdca_hid.c +++ b/sound/soc/sdca/sdca_hid.c @@ -24,18 +24,18 @@ =20 static int sdwhid_parse(struct hid_device *hid) { - struct sdca_entity *entity =3D hid->driver_data; + struct sdca_function_data *function =3D hid->driver_data; unsigned int rsize; int ret; =20 - rsize =3D le16_to_cpu(entity->hide.hid_desc.rpt_desc.wDescriptorLength); + rsize =3D le16_to_cpu(function->hid.desc.rpt_desc.wDescriptorLength); =20 if (!rsize || rsize > HID_MAX_DESCRIPTOR_SIZE) { dev_err(&hid->dev, "invalid size of report descriptor (%u)\n", rsize); return -EINVAL; } =20 - ret =3D hid_parse_report(hid, entity->hide.hid_report_desc, rsize); + ret =3D hid_parse_report(hid, function->hid.report_desc, rsize); =20 if (!ret) return 0; @@ -90,7 +90,6 @@ int sdca_add_hid_device(struct sdca_interrupt *interrupt) { struct device *dev =3D interrupt->dev; struct sdca_function_data *function =3D interrupt->function; - struct sdca_entity *entity =3D interrupt->entity; struct hid_device *hid; int ret; =20 @@ -102,13 +101,13 @@ int sdca_add_hid_device(struct sdca_interrupt *interr= upt) =20 hid->dev.parent =3D dev; hid->bus =3D BUS_SDW; - hid->version =3D le16_to_cpu(entity->hide.hid_desc.bcdHID); + hid->version =3D le16_to_cpu(function->hid.desc.bcdHID); =20 strscpy(hid->phys, dev_name(dev)); snprintf(hid->name, sizeof(hid->name), "SDCA %s:%02x", function->desc->name, function->desc->adr); =20 - hid->driver_data =3D entity; + hid->driver_data =3D function; =20 ret =3D hid_add_device(hid); if (ret && ret !=3D -ENODEV) { --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (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 C87E646C825; Wed, 5 Aug 2026 12:42:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.152.168 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933753; cv=fail; b=chf1d0NS3vLWIBS9Lnehag8jn5QWI6m8IJmIO5MrzFabvvg8mZf6tsJ6Fr4PQ5BdTjxtYbYedbukDnVqeIlKR0Ryg9LtVCjnkDlsz1+yOW3U0ZhogQVQcFhvx9rupZ4EsolIZOoIdXuQCjIqAi7ydZ3V1B6QezMuN4P9KrNl+R4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933753; c=relaxed/simple; bh=u3TVJbx578qyCg7RbtEKoo8LZCM2WsNX43wBYQjeZh4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=g7Zyf1v/yaGluuqjDx02oeZAxopmlKeyJHph0Pj7iYysmB7lNDjbrraIHOMb5JEtUslTw7HfUcvQCkpmszBLdseaz9tI9kN6jZRXfJHL3D/kdoz9yWTuHkMRgeS4ce/AnsvVEewK8xPNA56N1+LckztXiOiePX+rb8Vq+nvGrR0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=WcHeti6B; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=c1zWrf9s; arc=fail smtp.client-ip=67.231.152.168 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="WcHeti6B"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="c1zWrf9s" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 674NPT2Y2014368; Wed, 5 Aug 2026 07:42:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=ywX8j1dbYT+DSRjoWs//H8scQXfNbsk55xp9+UyciKQ=; b= WcHeti6BKHWgYgb/2YOdVOfFyAE2/0h21B40PmWL94bLgCkULjo5oXHbs/8ED21e KcShSs6URBKYgrAn1pT+l+ZxqXqhBHZ1jo8LtK+sqgq0mfLJKWSeEQ8wnEM57OeN 5WONnHWjbMuJO1ps8L1wKuYhNv0ne9vI+t42LektVEW5GV3v7JmtzVGQSPwc6F+w 9Jzm1kZd238m2gaCM54E4cedgO1RP/2Lu0K7/CrKTjbjgpqt31GU2TxSy9nSFnvH 0jCggR+8jm5kVFPvlETY8qy7AwMpYiDxt6kQUXIKSRVjgHg/NxtmIhcm8PyoIKgS 3Cb+HQurg6aHFqjk7Yt1Zg== Received: from ch5pr02cu005.outbound.protection.outlook.com (mail-northcentralusazon11022133.outbound.protection.outlook.com [40.107.200.133]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4fsd7h5pe1-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:16 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qf3Yp/TOBvMHhyjO7MB1secDgxA5LfvfBJbrIef+xSuc0bAVyjD4EU8/0o0DCFhqV+BwiIbzieFSj7vB3YfJVrbFPK4HTAFmxGh8HA57WEeXj1nBdR4cpNPNqRFWqIfTEJIpY/yYpCS1Z6+F7iDWpo6n5hD0D/L9D9AYqDSgZvgz4EobxViG2XPY6UPeBF3pkGeKqoA63KzVpqvwbUUfYl7zgfLD4HsjMEyrUOagdV6rFQ7/PWMEILB2IzNM8o/Zn7c8mipifhaAtp8kahBrit2xP0A2DGWulbYGCFvlGlea6C6uPusHKZppjPNJTwrGXjLOE82G0wrPZpwAHpDi6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ywX8j1dbYT+DSRjoWs//H8scQXfNbsk55xp9+UyciKQ=; b=ED2nA0Te8ranIs7NqwcvaJIirDjsk9DqYHdA7K89uKlu7U2rEIcFc8HcyKfFhYCAitgGaCxMlhgw2rvPK+N+O+T1KjB8hZ0gE6ONiJqrfnBg0xpzYZKrsSYQwVmTs0ke9tUzNjGGVxVnG0RTycUotmY6j4cUR2498hKMGnTDGGbwQSdAsgoYmAk9QdiKlA/OE96o3B4RDiPge3qgVa5ziv8BSJ+EbcmtVZRTENmXPepfh7Ye8BTcwyi7awxjoXmF0ccut64h6CHiiKAGqbQxZUEJ3d90dfxkxk+GPTpP+B9iJkXBXUeTvDw6AgbVefe5eUIAt5+O0i2bTAQ5+4GVSg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ywX8j1dbYT+DSRjoWs//H8scQXfNbsk55xp9+UyciKQ=; b=c1zWrf9sdJgie+Odcd/RRu5Kn92N4axQwAC3ACpYijsakvkfAseOlU5tRB+fUrWI1KbpmNhLRm0FaxaP4gmH87BVoGE0mBSoqEBzRWUbfa6wAuWNR79bfK4QayCF1YW4mgWrInSGZIEglz/ovqOILguy/uj2CxpcyyVpdCl7+x8= Received: from BN9PR03CA0972.namprd03.prod.outlook.com (2603:10b6:408:109::17) by SA1PR19MB4973.namprd19.prod.outlook.com (2603:10b6:806:1a0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.16; Wed, 5 Aug 2026 12:42:11 +0000 Received: from BN3PEPF0000B074.namprd04.prod.outlook.com (2603:10b6:408:109:cafe::77) by BN9PR03CA0972.outlook.office365.com (2603:10b6:408:109::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.19 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by BN3PEPF0000B074.mail.protection.outlook.com (10.167.243.119) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:10 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 90F18406553; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 7EA5E822545; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 5/8] ASoC: SDCA: Update HID DisCo parsing Date: Wed, 5 Aug 2026 13:42:02 +0100 Message-ID: <20260805124205.4152543-6-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B074:EE_|SA1PR19MB4973:EE_ X-MS-Office365-Filtering-Correlation-Id: 908d3613-e7c7-47a5-9ecc-08def2eef80c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|61400799027|36860700016|82310400026|23010399003|11063799006|6133799003|10067099003|16102099003|18002099003|56012099006|22082099003; X-Microsoft-Antispam-Message-Info: 6Tks+ccHsnxyxZQYai1glKNJQkkLhYtSHEPvlsEDgUkGoNfUB09aotQ7XDgKBc2H3p2pXL1cGQeVRCmAJ+Idu57n0pYyAcliCWNDsrEOLtrUffOTNoKu3vdpZ6VWJEkfOVXAQZ7+U9rTpjjJTwPrLyqzzR+MNazrATFvoADJ+f2gsWyqOrcwyRVzQGSqAr3oPQJ8QiaOI6JEie7kGLt2Wg5dh3HJoY8oj3ylkTFkqaQZrzbZBiIfOk64uw9wp9dKuYOEKsTAeLMqqCUTmVsRpQc3uYzXx/953AzDzamLoaUqU3JFjq1zMMMoIf1nqo7wvhPf9e1vcLW3VBiaB6dAM9BCUBHYTL41ipkSI6LCMxazpvPGgt8J15h+DjW61Jc6Nxi6jlpBDWq3K/jygzPvhlO8eJ4jet9WDYwNDsdcpFoFr4VCm/GfdqZLbJBpRTymwy9Z2djlVF928/khAOD5h+PSJaXqG7rN7dLSTHC4KFkn3F79bhSFMbPuEKo4WeLxnFuEJBqqk1v0/2A2Fv05GFyV30Pv/Dg2xuqcNmzeO0vYINWj0lttcPiurZuXkVHyHvX3xySwAPLf/RWfC91K2hs2syPgiY4udjbvC3NA6SgNbasoyJWeqlCkSKlfd3SZP/b7EJNNqGNgvITE/M0TZ4Agy7zM4FX/IDc3ltJp7yIG5fzhl0JjbwdmLyl0U814e4CvxDKSAo0DhgMLCIUFZA== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(376014)(61400799027)(36860700016)(82310400026)(23010399003)(11063799006)(6133799003)(10067099003)(16102099003)(18002099003)(56012099006)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: m8XSAfI3CQqN6GrRQmH9xrISD73AUGVBzhyWBjYpF/YSIKBR58VdTr23dO2t3647riNW7Y52J7rWXsa3/j7hDYsOO/RAG6GOax/fxM8gCANuWrk8dX17CpaIsMZi+DETL6zySWm4uCt252UIgS1ICpN2wTt8WFfrnZsOeHntQ009R/EXypfNp6rJnrXvRHeS6XTIioEu8y1T3dHcPpv7VfCRGP6xxM2VznUKdyAyCe1iNNWh2WKZ+xt/WhB/zJraQmTkW8Y9jR/lVD6Sce/P27+Gejn2b1SgAFmRuokaNNR3ICs+GL1FDmA+zc1mQZjNY2HNUpnegdHgo6iLHXkWXsjCbYK2PKYVcyMdOPC3P+0/k8b0Xjbo8XqUDlc+J6QW5T/sCl4JUnEqCML7GxME/RwZqtJ3MFCGjhT0wPb9WaH31r+i2Qp67DJtAO6RA03w X-Exchange-RoutingPolicyChecked: SfMdK4Np270HKPOcu3B/zORf5C8Pi5cBpFan6gDAwRcAYrtHxmnd+a6nghy+gmmp5ie6fjDwTfY6tdCxE6MHdCIfyNSwRY7MIPx3p63FwRRmbyaCf099Y4dod7kGLvIPTzfGyXWd65dPeP/6kI4wktghjNXNfsgGBK24xhf3rebuivn0JsYxRACJ7sxrVSL/jbOSFzHyw/Sjc3wOvkD6pKWFN5Fjv0zGNJVWaMAe+pYUKbYHX24QlhErfdCeST2nixhi7YldK9Ds2yCzNROkTlzsC93EwUoVW8XapGwQwk2Sgt/RSVVwrTRxQ1R5VpFPUOY/Dsbr5waaYXYrgM0h7w== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:10.8765 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 908d3613-e7c7-47a5-9ecc-08def2eef80c X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BN3PEPF0000B074.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR19MB4973 X-Authority-Analysis: v=2.4 cv=ZK/nX37b c=1 sm=1 tr=0 ts=6a732fa8 cx=c_pps a=zIlxSkAlgAN8/7mUobs3rA==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=-1BAiDLmoNLMV61lCjoA:9 X-Proofpoint-GUID: -q3Mw8-gqa4QS-Pwp_bv0j8ORUZrUpxv X-Proofpoint-ORIG-GUID: -q3Mw8-gqa4QS-Pwp_bv0j8ORUZrUpxv X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX6l+iSmUBbwN+ 280IBrIsbrAoGnLtH6mGCofIUXGBpM+DXbcQ6XWM+4pLuEHsE+ZmMoZGbJALxb8d+ozRdJMwS+A SNjmupNwooJhpY1Ejs61t8QmAalwZFGTuukl4hFsZegKnC2zJl+6J8pcusddm4GN8qOH/ypaA7p lc2ybkZW0DTNlDvCF3fLpdJ5Vo9jFTIlwO4NN6kehYa+Az/vJL92k5HPZnEoXCehcMlCEZQv/Ho TLpdxWas8v8rZ3RSWHJVZTiUq8B6YzKJfhf10FBG3djaIFF6kn1Kcy/OBg0eQBSVj9pz4QZa2GA ofZBWTeyYwnE502mxX/2CPxINdJ1HvaYF91Zn425KHjQI00a3WXLI0jIrWgJownBOCGYeVrR5eJ nn1eaz6Wq7anolPO9iOD6DUfA+BgwqlWg6eDz9zwH+LvtkpFUHarFlIkUfWxwclsuX3yyBwGRc6 nCOS2yB0h2QC1Yce9WA== X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX/ZKxWgG40TJ4 aC6TTmWWyleMPvUBIU/O6t0qUGLrdAo5kNzTY9HYoDofiOBcKb/BpMPVELh4Kxlf+QMA5ee3W7D 3sKuHxdwFOY21sPmtJpNoEykgF+gWUw= X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add more error checking on the parsing of the HID DisCo and bring the code more inline with the rest of the DisCo parsing. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- sound/soc/sdca/sdca_functions.c | 119 ++++++++++++++++++++------------ 1 file changed, 74 insertions(+), 45 deletions(-) diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_function= s.c index e49acfe49e289..1196cc09389ae 100644 --- a/sound/soc/sdca/sdca_functions.c +++ b/sound/soc/sdca/sdca_functions.c @@ -7,6 +7,7 @@ */ =20 #include +#include #include #include #include @@ -1369,59 +1370,71 @@ static int find_sdca_entity_hide(struct device *dev, struct sdca_entity *entity) { struct sdca_entity_hide *hide =3D &entity->hide; - unsigned int delay, *af_list =3D hide->af_number_list; - int nval, ret; + int num_reports, ret; + unsigned int delay; =20 ret =3D fwnode_property_read_u32(entity_node, - "mipi-sdca-RxUMP-ownership-transition-max-delay", &delay); + "mipi-sdca-RxUMP-ownership-transition-max-delay", + &delay); if (!ret) hide->max_delay =3D delay; =20 - nval =3D fwnode_property_count_u32(entity_node, "mipi-sdca-HIDTx-supporte= d-report-ids"); - if (nval > 0) { - hide->num_hidtx_ids =3D nval; + num_reports =3D fwnode_property_count_u32(entity_node, + "mipi-sdca-HIDTx-supported-report-ids"); + if (num_reports < 0 && num_reports !=3D -EINVAL) { + dev_err(dev, "%pfwP: failed to read hid tx ids: %d\n", + entity_node, num_reports); + return num_reports; + } else if (num_reports > 0) { + hide->num_hidtx_ids =3D num_reports; hide->hidtx_ids =3D devm_kcalloc(dev, hide->num_hidtx_ids, sizeof(*hide->hidtx_ids), GFP_KERNEL); if (!hide->hidtx_ids) return -ENOMEM; =20 - ret =3D fwnode_property_read_u32_array(entity_node, - "mipi-sdca-HIDTx-supported-report-ids", - hide->hidtx_ids, - hide->num_hidtx_ids); - if (ret < 0) - return ret; + fwnode_property_read_u32_array(entity_node, + "mipi-sdca-HIDTx-supported-report-ids", + hide->hidtx_ids, hide->num_hidtx_ids); } =20 - nval =3D fwnode_property_count_u32(entity_node, "mipi-sdca-HIDRx-supporte= d-report-ids"); - if (nval > 0) { - hide->num_hidrx_ids =3D nval; + num_reports =3D fwnode_property_count_u32(entity_node, + "mipi-sdca-HIDRx-supported-report-ids"); + if (num_reports < 0 && num_reports !=3D -EINVAL) { + dev_err(dev, "%pfwP: failed to read hid rx ids: %d\n", + entity_node, num_reports); + return num_reports; + } else if (num_reports > 0) { + hide->num_hidrx_ids =3D num_reports; hide->hidrx_ids =3D devm_kcalloc(dev, hide->num_hidrx_ids, sizeof(*hide->hidrx_ids), GFP_KERNEL); if (!hide->hidrx_ids) return -ENOMEM; =20 - ret =3D fwnode_property_read_u32_array(entity_node, - "mipi-sdca-HIDRx-supported-report-ids", - hide->hidrx_ids, - hide->num_hidrx_ids); - if (ret < 0) - return ret; + fwnode_property_read_u32_array(entity_node, + "mipi-sdca-HIDRx-supported-report-ids", + hide->hidrx_ids, hide->num_hidrx_ids); } =20 - nval =3D fwnode_property_count_u32(entity_node, "mipi-sdca-hide-related-a= udio-function-list"); - if (nval <=3D 0) { + /* + * FIXME: This should probably link to the actual sdca_function_data poin= ter, + * but updating to do so should probably wait until we have a user. + */ + num_reports =3D fwnode_property_count_u32(entity_node, + "mipi-sdca-hide-related-audio-function-list"); + if (num_reports <=3D 0) { dev_err(dev, "%pfwP: audio function numbers list missing: %d\n", - entity_node, nval); + entity_node, num_reports); return -EINVAL; - } else if (nval > SDCA_MAX_FUNCTION_COUNT) { - dev_err(dev, "%pfwP: maximum number of audio function exceeded\n", entit= y_node); + } else if (num_reports > ARRAY_SIZE(hide->af_number_list)) { + dev_err(dev, "%pfwP: maximum number of audio function exceeded\n", + entity_node); return -EINVAL; } =20 - hide->hide_reside_function_num =3D nval; + hide->hide_reside_function_num =3D num_reports; fwnode_property_read_u32_array(entity_node, - "mipi-sdca-hide-related-audio-function-list", af_list, nval); + "mipi-sdca-hide-related-audio-function-list", + hide->af_number_list, num_reports); =20 return 0; } @@ -2152,29 +2165,45 @@ static int find_sdca_filesets(struct device *dev, s= truct sdw_slave *sdw, static int find_sdca_hid(struct device *dev, struct fwnode_handle *functio= n_node, struct sdca_function_data *function) { - int nval; + int num_desc; =20 - nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-hid-descripto= r"); - if (nval) - fwnode_property_read_u8_array(function_node, "mipi-sdca-hid-descriptor", - (u8 *)&function->hid.desc, nval); + num_desc =3D fwnode_property_count_u8(function_node, "mipi-sdca-hid-descr= iptor"); + if (!num_desc) { + return 0; + } else if (num_desc < 0) { + dev_err(dev, "%pfwP: failed to read hid descriptor: %d\n", + function_node, num_desc); + return num_desc; + } else if (num_desc > sizeof(function->hid.desc)) { + dev_err(dev, "%pfwP: hid descriptor too large: %d\n", + function_node, num_desc); + return -EINVAL; + } =20 - if (function->hid.desc.bNumDescriptors) { - nval =3D fwnode_property_count_u8(function_node, "mipi-sdca-report-descr= iptor"); - if (nval) { - unsigned char *report_desc; + fwnode_property_read_u8_array(function_node, "mipi-sdca-hid-descriptor", + (u8 *)&function->hid.desc, num_desc); =20 - report_desc =3D devm_kzalloc(dev, nval, GFP_KERNEL); - if (!report_desc) - return -ENOMEM; + if (!function->hid.desc.bNumDescriptors) + return 0; =20 - function->hid.report_desc =3D report_desc; - fwnode_property_read_u8_array(function_node, - "mipi-sdca-report-descriptor", - report_desc, nval); - } + num_desc =3D fwnode_property_count_u8(function_node, "mipi-sdca-report-de= scriptor"); + if (num_desc <=3D 0) { + dev_err(dev, "%pfwP: failed to read report descriptor: %d\n", + function_node, num_desc); + + if (!num_desc) + return -EINVAL; + + return num_desc; } =20 + function->hid.report_desc =3D devm_kzalloc(dev, num_desc, GFP_KERNEL); + if (!function->hid.report_desc) + return -ENOMEM; + + fwnode_property_read_u8_array(function_node, "mipi-sdca-report-descriptor= ", + function->hid.report_desc, num_desc); + return 0; } =20 --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (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 6BAEA352FA5; Wed, 5 Aug 2026 12:42:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; cv=fail; b=cOtrce96jL8xiUzv8omM786Hpsmi3qgRNuYRFwG/0FdFCB3aNaEr9n80Doi98oi88VvFYf2m76urC7wbcotFN1xS93fXO4tTESHKdAwUlTVb33Vt1gdo4891lxgRV2rgPCSH36E5YhFWKosZ47DOZzdhdpL2ou1FvNoWdXVLwb0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933749; c=relaxed/simple; bh=zkd8j4hZyt5Z9A+uxPd9S2rYdvBD6aqyBeJ7uNN91mw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=AWWl12/8RNTjod69w1i80XP8GAMkGQqr3S2GCv3RS59oB+DdJJmZ2kMOJIirYa9HpArLsQ77UznBz95H3aNqnHN64VUfwwbdE4j7rlkxKOfpzSgl4YCc5IZMGX460X1UTRibhFrdMOfzqEN5zs0qYShHks4XYOpvx3IhGBKDXXQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=UMuVjo/s; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=yRj2dhvz; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="UMuVjo/s"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="yRj2dhvz" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6754V8ip3379452; Wed, 5 Aug 2026 07:42:17 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=OgWi3PCz00DeTH3tbIiLbYXmAg+Mq+ze1MIYSvDLDjs=; b= UMuVjo/svsfTP61GuJZd6b7WWjsd+fIZ92fQNbkGn76HZsVdke27BtDkgJL4V4/v wIksyEiGqUwuEobsVwMPASemXveaMF+paccWf0Tjuilbtq+UVD5h4fU7II5OyLzr r9+aZxZLXQC5RqiqO/ohQh8yFvGNdyeVlqO07CxCc1GHwzVMReiKTxf7Y8zsnOfg 7mvSaW4ouRoao/pYGQdwyNN8lgQW2UwnvlP+bjyCVV7K3c1WMYArrs2eg0pHBLhX DLCudvHr5Urh26O1BZrO8bCnrOD5hGL/aH3svYeBbik7om591xu47ofuVxsfyCJP ZXeWVj2zjEHIuM8RDO2xPg== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11020099.outbound.protection.outlook.com [52.101.46.99]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4fse6vnmdf-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:17 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FMiWH9h+06kgTJapYlGYcst4k18K5Z7MXNG9KUaKaUVvqagmrngEvTHhYr0LbZ8asqfZ6XgwZD9vWz0avihgACF9dRZrlMKeFKOo9MdOeTD+f+/T1bCqo1nkIFJ+1F+IuynQyeANlDcTjcIP3Vu1smv34DdWsCjqCDJ1ejxXP4ZDgO6zHHqMQhHgUk+Q80b409bmWhq4k8oKbkU9EhGIfj+pXbFO033Hr0n+LwwEjxokp9nklko2etMyF/rbLVNY3LzS/vVbev471zAolOb73BNkJdZLCgVX03UrAYYuETpaPHRHBNFDH84zCqOEc96AlGygWHtJS8OpWP7DQthenw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OgWi3PCz00DeTH3tbIiLbYXmAg+Mq+ze1MIYSvDLDjs=; b=gkzcRYPVL9pa1Zuxhnc8Gytl1R9X5Y3CHUwjCwBPsRfNTABvRGsg5DPG70YUt4LfQqGZnDnRUDjbH6ofEf0favIpWMhV5hqGeA2Q9pLMMbeuYXuhWhIo0FaKLpZ02iQqBkZ7Mldlv4h6ag1zVH7NrV9Jdmkbw17j/L60EVLY/UXwgYcEAia6u8Xy4t+x/wxjtGNSuG+BmdrvJSouimng8Q8F4AR9py366FlSIsVPtoYeXFUGyy5p57dhXMYkRZnjMFjDTnOE6oOBT3P2tcx6PLOzM8me8V4A6Bnjd2NAOvEiAjGttb42UQnhcSLmyZjCanA0uaV0cakLDC23WHH30Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OgWi3PCz00DeTH3tbIiLbYXmAg+Mq+ze1MIYSvDLDjs=; b=yRj2dhvzz5Ndf0ZXsBUyamMyENN8kJ4GbhBGKX7cU/VxiGmb7LDGI0c6MCfbuamew5pMPFN8+9EhKZUDjukHI7EYfAB0t8zgH2UpFn1tiiFhSgODTLp1fc5CPatAdCJ+kF7Uv5tNusgX0hfiNtHJGQIfybqKvzrVlGFc3M028/I= Received: from CH0P221CA0039.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11d::21) by PH0PR19MB4970.namprd19.prod.outlook.com (2603:10b6:510:92::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.15; Wed, 5 Aug 2026 12:42:12 +0000 Received: from DS3PEPF0000C37B.namprd04.prod.outlook.com (2603:10b6:610:11d:cafe::a4) by CH0P221CA0039.outlook.office365.com (2603:10b6:610:11d::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.270.18 via Frontend Transport; Wed, 5 Aug 2026 12:42:12 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by DS3PEPF0000C37B.mail.protection.outlook.com (10.167.23.5) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:11 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 95C89406554; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 8C03C82025A; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 6/8] ASoC: SDCA: Add missing destroy for HID device Date: Wed, 5 Aug 2026 13:42:03 +0100 Message-ID: <20260805124205.4152543-7-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37B:EE_|PH0PR19MB4970:EE_ X-MS-Office365-Filtering-Correlation-Id: 547007ad-8c3c-4991-ccef-08def2eef874 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|23010399003|376014|7416014|61400799027|82310400026|10067099003|56012099006|16102099003|18002099003|22082099003|11063799006; X-Microsoft-Antispam-Message-Info: QRJ+jzWBgEAxZgUSMfi/plWwlDMNh68KzU/ghwgJo2qxaRQVDCsJouvi0x6MyC33tx99H0UxWZplxrMPHBNn52AXhTmi45sT+rwbeL31jK7zvH+MznVHDRuuFc0qwe+KAx+8UYYeP6H8W/f3S6P6ja6ocKQeGYIGlk3sUHINpUYWYBDAuhpUKvekpb/0I6mRUIOyCt9oGKjbxbucAAgF+3PDgiNoKxr0nLneHBRPn232P7F0JNhOxUTxMxG8mUfXljAUEbNYiKzVY1ApNTF2Y5XpQoDh4HbMF5GDLGyNZL4ut7sJl1IHTjXId9dsiavjMsDHIcPtpbkWNacxLP+hgBgUZ9tOqhQ0sP5efjH6cFBJnUbkPAovmUydCILx6IrvzoZ5FOg4gdXZtUuNL1Lcv0f0djRw8ljPkhBVM8FRPmWOJ9d7p10dbqMXKwp4+qkVKJ4WrkrplxxvnPlsifWRfnQIBstDSyddxEBWq+B3AHuxlrGyYvl5YRwdLSrBumoC0FHZiRTE8N75br0U2OKfcFbJha4C4+ePsmRsmZNsK0H2tlPaFUNenTDzXyTrV12FFhtL8uc0ASs6JcBvt+A67vOg9CX8kq/JNk/knna2fVvMlJToFhmKRgJINiFACyX6vpPz9s5fJ8ycSk8LxPldyr7hVS/AXP4O5GH5uoeZae4/OUzyPjcv1SAO5vzoLCqog8UROoRQxhuaCZ+WZOfNCQ== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(23010399003)(376014)(7416014)(61400799027)(82310400026)(10067099003)(56012099006)(16102099003)(18002099003)(22082099003)(11063799006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: HHEnmFai055tjt6HBFdO7M6LlVBYUkSB+YjaHcgxqjdc/J//e4RuswCascYxgYEm5sVDNy9y468IUOXvRoopyz3F0LlB10IYxYfCMl6b8gNg4Wsxz6XVLuolD8jweGviLw5wAo32HetIv45mNX7aqLQJAMQ1TUwJTa/bAciKIy3f6aXUOxhYbszjq6HvVAoiO+6YfNpOteoA1iS8ezzLCGKK0vqYddAUod1J2zMVVRmMYJMpLcLEe78FKrc1SN6W513Q9OQdq3FXncRykOXx8d2H7ZuFRpcUaE4tVPzePcDGQ/rlceObQBKindURWXONinSQpSjotv1K1O2qEEwWs83HvNDXbk24dCSglDnoLduF6mrcgEwFvlJDl8MLJ/L4hxzgM19j6pOvg1wmi3/j0cKbbwVoHClRO4Gz1bm44TZOcc/9xupyA9eYtL2UXanC X-Exchange-RoutingPolicyChecked: k4gh/ZS4hcuFBcNlSG2dysUcVddYXJgAnOOPlJwRISl6f68TOj2B+3spYWmVzNDHCGT18ZVeow0vq2sp1xpAI6e6xf9Rzivcivh88iqsTSk8nT4AP4KGS7qjwrVn3thKzj2wxm2DdsKVdjBrpuvj4hER8r3zW0S4Kqpmh9MD3vbKYTn+N5R/wDQ+LxYB0kgd5tTUZ+9F82ZTCMU147fTBghh6rxknMW+/dMIPy7RoFMQE/0QTm+jiBCwepAhvyr3tR3vJ0MZhP5U5+Lpr4xRGPO7R2b/U+n9zsXBpzxW9/ofbedZunH2I8rlmTNhuClebwcJuDKqtE5F/11zsPCWEg== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:11.5185 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 547007ad-8c3c-4991-ccef-08def2eef874 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-DS3PEPF0000C37B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR19MB4970 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX7Iz63ANL7AXS VPLehO4Q4cVMmL8jK6icOen6+VKjeNK+Pu9BxJu4Pxf3u4O1ojV5hNAkoDpI0kyUGmpMswCXx18 zoMZ9SWRqgysyf4LrGpVRJxC6OkDOQw= X-Proofpoint-GUID: 5ZukaDIc4Sw6QQWGrNe7NHInzKT-Xgpp X-Proofpoint-ORIG-GUID: 5ZukaDIc4Sw6QQWGrNe7NHInzKT-Xgpp X-Authority-Analysis: v=2.4 cv=N+MZ0W9B c=1 sm=1 tr=0 ts=6a732fa9 cx=c_pps a=s8W5O/SPP/itI6RUWNtt8g==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=GcHkN7b0s9OhhlnPF1MA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfXwEUGrKY/yX14 Z8/VaxlzVyGAyqWhalrh3URb73bKQZ2Lkc1c0cjgFACxIWysJW0rPi89tnYsWHrlbxpTvcOoH2w 9NBuE16CztRZWWNPwYk6V2LoNs/JQb5WqmbJ+sAMbtlma3vlznsjnnKYpqgJDvx2YE/Gh2bnwgi MnAHXzFbxuOv/wM7jgOp9sxWETElUZ5yoZqT9UULUaHsR5VA1WwMRtjlAc+TjA4WffTQggn2Zyb azzi4XCLtpiR4hx+AKPUqOA4n9NBjM4jC7b7n+Ju0sGPBir2hlqNmI+LOhsGLyscPH4PDW+gmlh PKU4SE7NBI1sFjhV3m5joeCW16D5uqVC6/aZZLwz1xlzxECI4no58F0d1ZcMmo5YLgP8xUYtbp5 fdDtD0dCFnf6huPmBGYWM6bk0MwOLxqnvtshwSTSrjmnx4KfMR1yNf3ypwdcY2SqcVBG6+aapqO V5Dm3KnV5IcKzwPE7YQ== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" The SDCA code is currently missing a cleanup for HID devices when the drivers are unbound. Add the missing HID cleanup as part of the IRQ cleanup to mirror when the HID device is created. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- include/sound/sdca_hid.h | 5 +++++ sound/soc/sdca/sdca_hid.c | 12 ++++++++++++ sound/soc/sdca/sdca_interrupts.c | 2 ++ 3 files changed, 19 insertions(+) diff --git a/include/sound/sdca_hid.h b/include/sound/sdca_hid.h index 83d1c7768133b..848081df3e4ec 100644 --- a/include/sound/sdca_hid.h +++ b/include/sound/sdca_hid.h @@ -17,6 +17,7 @@ struct sdca_interrupt; #if IS_ENABLED(CONFIG_SND_SOC_SDCA_HID) =20 int sdca_add_hid_device(struct sdca_interrupt *interrupt); +void sdca_destroy_hid_device(struct sdca_interrupt *interrupt); int sdca_hid_process_report(struct sdca_interrupt *interrupt); =20 #else @@ -26,6 +27,10 @@ static inline int sdca_add_hid_device(struct sdca_interr= upt *interrupt) return 0; } =20 +static inline void sdca_destroy_hid_device(struct sdca_interrupt *interrup= t) +{ +} + static inline int sdca_hid_process_report(struct sdca_interrupt *interrupt) { return 0; diff --git a/sound/soc/sdca/sdca_hid.c b/sound/soc/sdca/sdca_hid.c index 5000d73657b41..514f895bd90de 100644 --- a/sound/soc/sdca/sdca_hid.c +++ b/sound/soc/sdca/sdca_hid.c @@ -122,6 +122,18 @@ int sdca_add_hid_device(struct sdca_interrupt *interru= pt) } EXPORT_SYMBOL_NS(sdca_add_hid_device, "SND_SOC_SDCA"); =20 +/** + * sdca_destroy_hid_device - destroy the HID device + * @interrupt: Pointer to the SDCA interrupt information structure. + */ +void sdca_destroy_hid_device(struct sdca_interrupt *interrupt) +{ + struct hid_device *hid =3D interrupt->priv; + + hid_destroy_device(hid); +} +EXPORT_SYMBOL_NS(sdca_destroy_hid_device, "SND_SOC_SDCA"); + /** * sdca_hid_process_report - read a HID event from the device and report * @interrupt: Pointer to the SDCA interrupt information structure. diff --git a/sound/soc/sdca/sdca_interrupts.c b/sound/soc/sdca/sdca_interru= pts.c index 71037189a057c..7aebc721a847f 100644 --- a/sound/soc/sdca/sdca_interrupts.c +++ b/sound/soc/sdca/sdca_interrupts.c @@ -487,6 +487,8 @@ int sdca_irq_populate_early(struct device *dev, struct = regmap *regmap, } break; case SDCA_CTL_TYPE_S(HIDE, HIDTX_CURRENTOWNER): + interrupt->free_priv =3D sdca_destroy_hid_device; + ret =3D sdca_add_hid_device(interrupt); if (ret) return ret; --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (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 705AD45D1B1; Wed, 5 Aug 2026 12:42:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; cv=fail; b=HcITsa7CmhJLdGXynUmtSqQDQnEN061pvTlHgyyhCIGUcbpnWNzNOpEQp5ENEFfqAYDIzvLs5gyxAX9PeLn+rWBOGWdf0D1eCRbZ2aNUYfU/mkzOT6eJD6D0gUt+VK8JwHzZrN10aYQ0jpd/kG3rqICFQgei6LYfgWyBKjqn4As= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; c=relaxed/simple; bh=+y6FC4m4qaXkla0uqGrP73sdQpEg0gHVaWConi8o0RE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=NV0G1FU255uR1McH8ysDE0u4bfRgDtM/I+ANrVttNMp8MleTZud0mepYnVeWiIz+ZA4zmem7D4TeWD15AoJmjtNpUjzMApE8/5vTkJDcCm4XjKsj3ZnUVX4vXGBRYu4xuSXJuOhr93wnucXEQPDZKCtbqtuOk/oS3g36SfRzs1U= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=FKCfb4yn; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=ixF0115f; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="FKCfb4yn"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="ixF0115f" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6754uRgR3419307; Wed, 5 Aug 2026 07:42:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=ROdiI9I2uH/JuVUTktPomLbPTjoGpdoxvDQtNVLGlz4=; b= FKCfb4yn1QcxFxpT5EPWw6hkPZE2K1CaDltIfnkTo5q4wgVSNwCUUXkJ5BrqdHIC D4ugBQMv1HiURKnXbWKvq69SQI2VFQs2wnK1feWn5Ac/4eLRbycYKyBIcPFgF6E3 P7Id1dVhGNXR4tssTUuQTqLuxMLPM2VthZh9vvIRid8Ppve768snGDYgtikbMqEs 466lJ7TdXJqMmAJiJEm+oSD5PngZqpQpIB3M+uvt3UxRnOJGLiB+JJxiaHE7ZmaJ ZPmVZ4e9FSJaiEBz4j1E6DhaVMBMYuq0Gym8wF7bLVMY/iDrf0bTlWX365O5a5SI x2jnReFaOoRVLagDKRQ/hA== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazon11020103.outbound.protection.outlook.com [52.101.61.103]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4fse6vnmdq-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:21 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qch22bfEIgb1MMZpmdYTYXyitFHJXY0LZeJ33Zc/MJ5qQ812ZQsPH5JLWUSdfQ+AYfGQscYAupo4mhznqYhi4pSfvbP/jmV3RY7ZRvJwtXD5Mm0fo5ffCduOr53XooYe1rZDQR1Ix04yMw8heaU+TXVQN/DJ4RopTMgM/q1Fc7kJ4HsNytYednaiodZFCVk643RhlBmFndw1oDWJaZ3IYicFU+jXBVmQrcVYLxMFCMOu1fIlRrYsSgoZu44lSGokRhinLng9LZueZuLQKz9RfNfySpHs2NPf6AHbYB5/kKCvqCwU4by/QH291l05w4lXXBmuPx0nBxEUvUHvylnmig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ROdiI9I2uH/JuVUTktPomLbPTjoGpdoxvDQtNVLGlz4=; b=sq27tf/rH3qRb9nu9kUg9eAkVVxivY63AltlWQxGPkpK9MPoNXexcGzjDoAohNwn1abfTHs1QpFNAZ3bT+/gCMiQb7neJA2wzPj8JVZMiTBGt1EyfaRZUinFH3SRRnE4l7AD8PVjeJn6oK/GQsyuJn0/zARqTivQOCu0EQCykc3qPgYggNO7A+sdXXT4QCX7x1pC/0Pxw5bJaFrL27dKiVfATDeeF92XtNeBErNNwx48g1oik5EtFfaEcqySE+LWTNNIM1JroM2+32Tp+q/Fp0PpfiI4hwIejNwcOf7oXxSC4E3YchXfsX53DUaAg453MqAxNwW1hcYC4I3yG/tnhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ROdiI9I2uH/JuVUTktPomLbPTjoGpdoxvDQtNVLGlz4=; b=ixF0115fyTuD27gpJoxmpkUJRQ8L28xwb4aTD8+mFN4Hhp/oD+1IBIOxofNqulyyehORxNCeygfRi2m9y1OVxNbGjBymTWrLM5s/LGFBvGr4Y/snXav/zsdODOjWy4RrgKUWtJlzwtnfO8tbWffMhglyxuVSL6MacBDb7yER+f4= Received: from MN2PR11CA0025.namprd11.prod.outlook.com (2603:10b6:208:23b::30) by BY1PR19MB7749.namprd19.prod.outlook.com (2603:10b6:a03:533::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.17; Wed, 5 Aug 2026 12:42:13 +0000 Received: from BN3PEPF0000B076.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::5c) by MN2PR11CA0025.outlook.office365.com (2603:10b6:208:23b::30) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.19 via Frontend Transport; Wed, 5 Aug 2026 12:42:13 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by BN3PEPF0000B076.mail.protection.outlook.com (10.167.243.121) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:12 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id A410340655A; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 909B1822544; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 7/8] ASoC: SDCA: Add missing HID kernel doc Date: Wed, 5 Aug 2026 13:42:04 +0100 Message-ID: <20260805124205.4152543-8-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B076:EE_|BY1PR19MB7749:EE_ X-MS-Office365-Filtering-Correlation-Id: b604e1a6-3e0f-4dc0-71ee-08def2eef922 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|23010399003|61400799027|82310400026|7416014|376014|10067099003|11063799006|56012099006|22082099003|16102099003|18002099003; X-Microsoft-Antispam-Message-Info: W7BwDMU20P+hIxbAzireuwAMAsnajnYOVDXpxMy1zwPiI+1T5EJq6TIsv7PV9VBCh//WXd3oCAZTZcyPT3SMhyPPAUP7Smn+RnJqkt4GyGZeNpajmY2S5GUVMY2/bC2wVPuPi963So9eVW1oM5EGrT4hIjgi333uxJ2dbI7CcsqUUwgzY1+b17e6Z2PUNQaa3IcuUAxehuJ6m1VVw1Zer5LKMMI0g1gijcjV9Xe3IPRowCbe8iI+bfoQlbGMuwByhE0Kv5d33r6M7AUlxuQK93/KxFJaxzyAgDXwQRPPZI31aUtHykci5+tiuifL2eJBUpBV4xIIenSBLEyMArD6ZglvOqxSQuD3Ksuq11XRZ+ZoCWVAfWVZFfaj9bVmK8n61z8dba6ozkhJS2Za81enge34TmzI0tOojE1aO1upda6wfzoD3SmtfK89BK9NBYviVakpoR9sHm152EVj6wx2pvHOYyv7uwg0uLyiPJhQURGHraDBiPe5CH+dI/xDgri5BJG26/ybI90/wlOjB6Amu/SJfEcqZ8BB90FiOtxNBur3UqDxKK1hlPNuX1Mg8Sp1GJluI5YG1FoKO/PGsVa7Zpc0mfYknVgGLIppwN1X1ArCxD1onH7SNQukcMs+zz3FAeWiKHTc4+2z83DCFlBtPCtGpks9zJPkB562AaQgME7ADbkZMNLxYb9JJM5QoVx3tT4forgrqYOsDmLCmHcVNA== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(23010399003)(61400799027)(82310400026)(7416014)(376014)(10067099003)(11063799006)(56012099006)(22082099003)(16102099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: d69USm+kzeL1VDQGJC2uOR0AXT0+q2HXnoGzNY4GRnLToSFND/U5K5YJU/nlXSGlvfk3sLeEVtkygTziXnRKijdIQufOrhSMsauWj869Tz9bHzb1l7avs/UUm4joZ8HdcOVJx+efuaHkl0nci8NFHPJ8dgN3BDqCY26nCW88X+QCfnvepMGkehNKNmu9SkDm8fZ+LsIDT9/2PuiXdfLHieDZYM3N6fYGVbwsuJ/9mXTinviD6Y2al9x4Q84cptyQAXXz2EF2we88hEOrxFrXWeleMDvy0J+BJsO/WEP36sYu1qYWEAsuTcuxwYdqiQ9mCv3onWG5CqPyICnPqyYyYXnZylk03qWb8ilskeiH/EpmDDb475Ia17XbVIHxzBZ0vqGl30eyBNpnAx4nGKViCeHfU6P1obA56EDQxKsl09BD2t7k3iHI2Z9J29vsjuKN X-Exchange-RoutingPolicyChecked: s55yKzuMVglCSu3l+oOr7raeMsjQoVQrhbCaq9IznE8/+ukwOWN+kzxgTrsWYsAZ1/U+zruFDRRnosx+MveCCUgZTXffIKfEO82TiGda7m8Q1S07GleDTJwnE0A6nyKq2yHg4iTtWvUuBk/7vSDkJMMvFpzsuBRQ9jlLUP6elINJYmjtEa5iXzMSCuKxuucReMazRptw4g4V29nv/Ph3PLi8haepi0EaVM8P1Z0n87Ayyo7HrVA96E1KvhfQc8qMWIYpZ7FymfSYMzGnDBXpfBB/Q8vNQgmJp5rrIRE+Tlyz38tCCF9kPRqlixsIY0bGWijWlbtavIrx2Bo5qEfovg== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:12.6975 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b604e1a6-3e0f-4dc0-71ee-08def2eef922 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-BN3PEPF0000B076.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR19MB7749 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfXygvgigbhh3Sv kL45wa9Hc/2+ZYoX7Mi1/5zu50W/CYv7045VhRiov8iINLzNgDDNmwXhoydfzgU1t1aKsVvc7Mn KnR5kOZ/mBfTMzWcqIQSx/NaW5bDqH4= X-Proofpoint-GUID: nodDYIowgYHjMN-FslEB81nlMj-ijGHr X-Proofpoint-ORIG-GUID: nodDYIowgYHjMN-FslEB81nlMj-ijGHr X-Authority-Analysis: v=2.4 cv=N+MZ0W9B c=1 sm=1 tr=0 ts=6a732fad cx=c_pps a=l0LO6K05DF9RfVVG1F5aEQ==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=hatKmdsr-NMx2QPymcYA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfXzfWy3QjEHGmP rt+Jqa+feRpXxD/UW30HREhZnwpRtQzKG2Qrc9/95dKItn6VGRAINo029wrFHgxCfXUVsc/UqPm avGPrfbPekem17qO8cdbO3zKCxST3v5QJrSTLgznIFv4C02eEzm3B3aD591S5CoLcmN9vCYyNni W0SRzftGgt4nPgwY/Wk2QqV9soS+hRsiklte/ujWUcxaI23xwMt4GKWpZMCDNxKQlKJAzFeKEn4 gfSXAl076vRLusnz7uu/UbYZ2nSAgS7rtq+F60cyNm2CpEzuxrQ1e7EPBgehyPvI5LW5oqqkYXV WwH3OnTV3gtNSiI5+dumgY0dbebylQCWDQCWtYcIPhC2zHSbKYWWwOeYS77XblnPurfdaYPRe6M 936IvUD0E7MvwZ4mmkfXGEDDs2L50TPzU8Nurek/4q4kLD6g/6CzWv4WVRRPcxHGR1yTDU6YZsh CG4qY1VbGyqlHF0OPJg== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add missing kernel doc for the function sdca_add_hid_device() Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- sound/soc/sdca/sdca_hid.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/soc/sdca/sdca_hid.c b/sound/soc/sdca/sdca_hid.c index 514f895bd90de..bee1b83c05f21 100644 --- a/sound/soc/sdca/sdca_hid.c +++ b/sound/soc/sdca/sdca_hid.c @@ -86,6 +86,12 @@ static const struct hid_ll_driver sdw_hid_driver =3D { .raw_request =3D sdwhid_raw_request, }; =20 +/** + * sdca_add_hid_device - create a new SDCA HID device + * @interrupt: Pointer to the SDCA interrupt information structure. + * + * Return: Zero on success, and a negative error code on failure. + */ int sdca_add_hid_device(struct sdca_interrupt *interrupt) { struct device *dev =3D interrupt->dev; --=20 2.47.3 From nobody Fri Oct 2 04:25:37 2026 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) (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 E9DFD3F9A1C; Wed, 5 Aug 2026 12:42:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; cv=fail; b=hE/xyUT39pRjR+h0O6Sxs6b8DTJY3CDfOBkwHSbcBOMnTinAJvwKHBwjk1y0S/8p+1pAz32OlaNOU9KjcVdhMpM+suz1c65I0AbZtToyWy9yt+3iI33wEYw01/lncNfF5DPblr+BBTPAFtpH4d0O7M60kSvAthkjWc4jV5GHeUo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785933752; c=relaxed/simple; bh=mJp2mCzU1vQ6/9EbcmbQu7r/5EFWf19zKy6tY6DFBkg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZqyHDuZJ3IK63pNR1PDAMd+BYrZqxwwqlVsCQsJ2tdNoUo0XJ2dtpRrDp2XKzEB1e3dri6+sug+rzDoeVCisuAKAwHfd7gFnBCFmWWFaZHoK4n53xskySRmgi3IX3gjtnrbJZYoXKsUOLhg5zHQoHljlKvv8bclnIFWAOpgAsEc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com; spf=pass smtp.mailfrom=opensource.cirrus.com; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b=pf3SVma0; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=IowkTxEH; arc=fail smtp.client-ip=67.231.149.25 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=opensource.cirrus.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="pf3SVma0"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="IowkTxEH" Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6754uRgQ3419307; Wed, 5 Aug 2026 07:42:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= PODMain02222019; bh=DahVpk5W8opF3xCQ40pkoYKDv5K7DK5eOXfYJurhEl0=; b= pf3SVma0oNlDmYNGk0olVmBlJQxEvtV08PU2HyRv1jokhsLA4lwVO3UASmEo9lHf shDYpCOjEL8f8zW1iQxMkmOAlXlS6MOsaCd+jNywzul0S2m57YzRFwHn09dHneqZ cAsDr4FL3ibVcQJKElqDhmngP3hy7K4DBmUMKZUNVpMOgxIt7wn/AKiuqX6LLPN6 LjPe3n5k8WRMXuP63WZC72nkbYBOgv/Ml0x7x2J2+M8/8fKdIK6jy6s0e+U3xQ0s K40mYQwzuPvlahf2h3d453UaDbENcEi+OJKDzdWQ7CJ1yBi/cVqN5AFgquIjXu4f 9RBH8tuEmhYVIP6nWJaJTQ== Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazon11023105.outbound.protection.outlook.com [40.93.201.105]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4fse6vnmdp-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 05 Aug 2026 07:42:20 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IqIKOvOsUIzna+xcALRA74f+rJ87hu6hXdKfniw+4M8R+PZ+88tWIIsTomzfmZo/ZSxEUw/3TNfR2xfg7OAFHNDk5vaPj0gabebmHPY6S6/k2j+/KtaL7Wf/Y7m9huAywEENDNwecUKE7JuTjW/fSnFo+4N9PdHDTKMTRDDXWJZ5Hkpemp5fQqTUPS6hzJE/zDYRcjzdETMLC0TFWaxllMMzA2sNT98MYHZz4NkQOeQxAAofakJxov9aAJqYh9tOqssA97zjounUZtOMpPVkTUxZQFz+kFeaQplhRoBvrbDfw87JQUHco4fXBn7BGM5BOJDV9olBb8I3bqYkaqXC7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DahVpk5W8opF3xCQ40pkoYKDv5K7DK5eOXfYJurhEl0=; b=NXSWlzQMHinioH+9kynLidirpSYZsXZuqtSXi/gKOo2dVhC2NA8fiBJphwcdGynBuE21wZCPzqYKSCbXO2hQX+WsD1Cf3+l8LsqhX/w1GGJAX0apNqmX4+v4UcWSLVgunWcFA6m1S7bLpa391i8kHD+plYozezPXfjJVvODXJjskQTIuEhACv8FufF/D6ZqGimAg4BVMXty4RtiEKmFapCD5uoizu8zWKC/KQt0ah/mxaRcCyN28dTmxb/C3qEJ+O3RC9MY5oQ98dxEgWraGxmU30YjdDprTVPoazHCICTrLYXlow/WV7tCiL4tIsL2zpmO7Kj8DnRHGLJY6dKeVBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 84.19.233.75) smtp.rcpttodomain=cirrus.com smtp.mailfrom=opensource.cirrus.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=opensource.cirrus.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus4.onmicrosoft.com; s=selector2-cirrus4-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DahVpk5W8opF3xCQ40pkoYKDv5K7DK5eOXfYJurhEl0=; b=IowkTxEHLOLNs6eGbNjpgX2i8/RbxiNZZ4LVh7M9oCSzUkF/JRBoBWhcXYm5O20/Ow+wb5zeaMw5iC+h0kaN8DUKjAokT99c5EMuKAC4WPUk6VFe/8twGZ/+0ZY9usCWHIgOQXTtfoAJbfLKha6XgQDNNFCXck5BN2wY/471ve0= Received: from CY8PR19CA0038.namprd19.prod.outlook.com (2603:10b6:930:6::26) by MN0PR19MB6044.namprd19.prod.outlook.com (2603:10b6:208:383::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.15; Wed, 5 Aug 2026 12:42:13 +0000 Received: from CY4PEPF0000EE33.namprd05.prod.outlook.com (2603:10b6:930:6:cafe::18) by CY8PR19CA0038.outlook.office365.com (2603:10b6:930:6::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.19 via Frontend Transport; Wed, 5 Aug 2026 12:42:13 +0000 X-MS-Exchange-Authentication-Results: spf=softfail (sender IP is 84.19.233.75) smtp.mailfrom=opensource.cirrus.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=opensource.cirrus.com; Received-SPF: SoftFail (protection.outlook.com: domain of transitioning opensource.cirrus.com discourages use of 84.19.233.75 as permitted sender) Received: from edirelay1.ad.cirrus.com (84.19.233.75) by CY4PEPF0000EE33.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.292.8 via Frontend Transport; Wed, 5 Aug 2026 12:42:13 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id AA2F040655B; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) Received: from ediswws07.ad.cirrus.com (ediswws07.ad.cirrus.com [198.90.208.12]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 9F65682025A; Wed, 5 Aug 2026 12:42:09 +0000 (UTC) From: Charles Keepax To: broonie@kernel.org Cc: lgirdwood@gmail.com, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, shenghao-ding@ti.com, kevin-lu@ti.com, baojun.xu@ti.com, sen@ti.com, niranjan.hy@ti.com, oder_chiou@realtek.com, shumingf@realtek.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 8/8] ASoC: SDCA: Pass swft table through sdca_dev_register() Date: Wed, 5 Aug 2026 13:42:05 +0100 Message-ID: <20260805124205.4152543-9-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> References: <20260805124205.4152543-1-ckeepax@opensource.cirrus.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE33:EE_|MN0PR19MB6044:EE_ X-MS-Office365-Filtering-Correlation-Id: e39520d4-fae7-48d0-ee18-08def2eef965 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|23010399003|36860700016|61400799027|7416014|376014|56012099006|10067099003|11063799006|6133799003|18002099003|16102099003|22082099003; X-Microsoft-Antispam-Message-Info: hZ7GbDazpSDsFfBmsPfPkn0mWNDJyxXg16laE3PuAxkB/glvhzhfdvu784jo6ROZmlEjNvNEK6hQUbd0cJ9BmSL8EApE/oIgM0kRvICThmnQZuWPF4bcz9OFDY5RbVwszjqOlG1Uz1OJr4XYUpIyqrihtG6/oBkoYrrcGjPpyTXrjfWlNL9e/+sHwEe84RnEahWUzRuhNTyAjOtddff/I2uGtmE+hqbGYqzjL9Wx1rNDTJQZz0C1KNK4umo94/6fDV4O3m/MCdlwT89+dik3646/TVd/VSZmbhRicKl9syZClLGwIHKdza8VvUw5SV6zqekQfoj86Bk7HNv9xEcYUiBX+1Lm7W0LQ1/z+4j2PKO3kE6EJeKrBYUh9mCOmxXMCgDGjNI6LNRTLCQjD4wIX5k8H6DaQPYTMNYEq5hadd0NWD/XLNKxT5cjPxzhVU/xWMKOcWAcAqJerTxBrwjbq5jUUJa0SSl+2F3T3uxYjl38fdAHBFPbcH0hMTVXV+j08ywt6q5Oj+5sUGQbsdtW1AEdQZ8r5IXTgiCXJNlB3RcrKkecs0rR2lj4ij6ryNur6VNHNEIg5ECd9a+mwdXJxG5grE9oh+E4iMQNyqokAFVSxkntbBjorTdR++YU1YEes2ISCtqNFPYtMczHgpOqD1b5nInKX2IBYg0QDnI+HWnTSVfdRcBnsHmLPo0Nq3f18rax/v8CZDsXCtYrg/bSGQ== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(23010399003)(36860700016)(61400799027)(7416014)(376014)(56012099006)(10067099003)(11063799006)(6133799003)(18002099003)(16102099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: X0h4xv23TytcXGt5yFheJEKKrvQuD4w9kUU2bCztw/+y3O440X9h/c0+LOfeIsOydCBA6DKwuUOwF1jsXZCcFTPVlxdoxdMGGrJ9kCxZxWc0a5pORWWwy0tdmhvPSvVRIQKeYn6PwxQxrL3WTn0kFR5cg99VaQlAqbiLY03kqx3ddjU4mUj1yBpsjLkv/PwvPOb6cwGJWZaBs2WN9UYlmcy6u+Mklb1HpSLM3Wm8S54pPJC5jD7gPYVDVInUc7/xvgyizLDIz9KHRnMQPtQeEMo8zng7paQvX2pknnTZk3L3+1eUG3If+xYqOrPH1Fypu1hOTLLaTCB91Zc3kEsE69lYdttJ4041gJeFUxjFH8TaJ2K3FbGQgwOp6VvIDOVkFQ9/+tZ7TL4yUSxsDfRNMkfKywQAsHVFXfVzhSP8sMO804U5jRPWjuBcEZtDGjpy X-Exchange-RoutingPolicyChecked: N9agvFveYW6GeLjC/sfK/IWBARK/0W+iUPWtbqSBD9reD8qgUPEp/rUcUCTvLLYZeJJ1SQFD+fvMv9VwUvgsyPV0dTyGkq9AkgdNwTqaeJ+OnSF9HSS2UCzb1nTTsuWWuqq3Cj0WzmSEZIuZ6BHjbni05cx61p9/lf6xRNG4vdRE/a6kC8lE6SVjK3B8HO1RtKaFhpOeY9zI76gl6S8/A2Ju9qTywrJtEVyQ4IiOrqg4UdOqS1rM3NS7RlX4DYwk1sCQDLnk91/w5F/New9bYHcKDCOYDw0buSVaGRMc5BynUadkBB4xWJzzM1NRsq+7eq592Mv7sOqZIWlsfr3lfw== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2026 12:42:13.0636 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e39520d4-fae7-48d0-ee18-08def2eef965 X-MS-Exchange-CrossTenant-Id: bec09025-e5bc-40d1-a355-8e955c307de8 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bec09025-e5bc-40d1-a355-8e955c307de8;Ip=[84.19.233.75];Helo=[edirelay1.ad.cirrus.com] X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TreatMessagesAsInternal-CY4PEPF0000EE33.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR19MB6044 X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfX/nT+UVXe1eKR vcgAydlV0QxdhpqAOB/MMNHTcOhNR6E7NY4RdAhLNk960Dj4eZ7BUiD/JAvQCtEg9AiYevpD6Cd y/p6mdEROkzR/Z5UoIj84kSgDB6Xs2s= X-Proofpoint-GUID: pZ6aVzH2bzRxxbxD1fXXwM_tHousuuLM X-Proofpoint-ORIG-GUID: pZ6aVzH2bzRxxbxD1fXXwM_tHousuuLM X-Authority-Analysis: v=2.4 cv=N+MZ0W9B c=1 sm=1 tr=0 ts=6a732fac cx=c_pps a=hloNlEDlI3+XEZKeHTbqpA==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Sv0fKeRqtYgA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=FVNOuC7a9JbZzHRqJzUA:9 a=O8hF6Hzn-FEA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDEwMiBTYWx0ZWRfXwFVj5kQCgO0R yAncQXqaXqVk362d57yIufrXwg8TB57nz8FDMgkKrPFkFvFSQYebFqAu2DT9K3OwnmO0k+vqlV2 JrVgqThPYE2jZUk49n0IeOAKH+9bROFrfMj8ceTs6ytzCCM9cGFgE1vyERsbnVQbdmlgN9o9Ohf OibQKiDqtHNGWFeqRTg87vPfx3l2WY45VeUTO/tJOrDyT7e58KPxkKPV+i7bDICZRpOWcNR/LeP d6sLk+aVbN/OPzvQFx1An94IpxqdAnJy+IB94N3cRS14wSgvu8wCO69i/dsctjjMEWjmHQ8gYd6 Qkdr4aGp+OJXpPJGWRrQHrP+J/OBlK48X00tMUViA4FDJqF1PEGZO6IZ/bRihbU1yBFvg27cQk3 Yf6IkrAWxqQ0qpF8DeaeF57q/Gkgpe6j5T22cGDxMJll7s510Nxf5q7psGGqIuJbl6WkvFyGITZ cKw6jY/MCal8gD3kHzw== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Rather than passing the SoundWire slave into find_sdca_filesets(), stash the swift table whilst processing sdca_dev_register(). This allows us to completely remove the passing of the sdw_slave into the ACPI parsing code. Signed-off-by: Charles Keepax Reviewed-by: Pierre-Louis Bossart --- include/sound/sdca_function.h | 3 +-- sound/soc/codecs/rt766-sdca.c | 2 +- sound/soc/codecs/tac5xx2-sdw.c | 2 +- sound/soc/codecs/tas2783-sdw.c | 2 +- sound/soc/sdca/sdca_class_function.c | 2 +- sound/soc/sdca/sdca_function_device.c | 7 +++++-- sound/soc/sdca/sdca_functions.c | 10 +++------- 7 files changed, 13 insertions(+), 15 deletions(-) diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h index 72441ed5eba49..f65a1d6784e81 100644 --- a/include/sound/sdca_function.h +++ b/include/sound/sdca_function.h @@ -1460,8 +1460,7 @@ static inline u32 sdca_range_search(struct sdca_contr= ol_range *range, return 0; } =20 -int sdca_parse_function(struct device *dev, struct sdw_slave *sdw, - struct sdca_function_data *function); +int sdca_parse_function(struct device *dev, struct sdca_function_data *fun= ction); =20 const char *sdca_find_terminal_name(enum sdca_terminal_type type); =20 diff --git a/sound/soc/codecs/rt766-sdca.c b/sound/soc/codecs/rt766-sdca.c index 54ed0c42fba2f..64d763b96a061 100644 --- a/sound/soc/codecs/rt766-sdca.c +++ b/sound/soc/codecs/rt766-sdca.c @@ -1201,7 +1201,7 @@ int rt766_sdca_init(struct device *dev, struct regmap= *regmap, struct sdw_slave } =20 func_data_ptr->desc =3D &slave->sdca_data.function[i]; - ret =3D sdca_parse_function(dev, slave, func_data_ptr); + ret =3D sdca_parse_function(dev, func_data_ptr); if (ret) { devm_kfree(dev, func_data_ptr); goto _free_dai_drv_; diff --git a/sound/soc/codecs/tac5xx2-sdw.c b/sound/soc/codecs/tac5xx2-sdw.c index ea0408b71713b..fdb6213d13603 100644 --- a/sound/soc/codecs/tac5xx2-sdw.c +++ b/sound/soc/codecs/tac5xx2-sdw.c @@ -1940,7 +1940,7 @@ static s32 tac_sdw_probe(struct sdw_slave *peripheral, "failed to allocate %s function data", func_name); function_data->desc =3D &peripheral->sdca_data.function[i]; - ret =3D sdca_parse_function(dev, peripheral, function_data); + ret =3D sdca_parse_function(dev, function_data); if (!ret) *func_ptr =3D function_data; else diff --git a/sound/soc/codecs/tas2783-sdw.c b/sound/soc/codecs/tas2783-sdw.c index 34f17e063fa3e..94f11e3b0c207 100644 --- a/sound/soc/codecs/tas2783-sdw.c +++ b/sound/soc/codecs/tas2783-sdw.c @@ -1348,7 +1348,7 @@ static s32 tas_sdw_probe(struct sdw_slave *peripheral, function_data->desc =3D &peripheral->sdca_data.function[i]; =20 /* Parse the function */ - ret =3D sdca_parse_function(dev, peripheral, function_data); + ret =3D sdca_parse_function(dev, function_data); if (!ret) tas_dev->sa_func_data =3D function_data; else diff --git a/sound/soc/sdca/sdca_class_function.c b/sound/soc/sdca/sdca_cla= ss_function.c index 2fb2b043c979c..cc7045dc26e6b 100644 --- a/sound/soc/sdca/sdca_class_function.c +++ b/sound/soc/sdca/sdca_class_function.c @@ -329,7 +329,7 @@ static int class_function_probe(struct auxiliary_device= *auxdev, drv->core =3D core; drv->function =3D &sdev->function; =20 - ret =3D sdca_parse_function(dev, core->sdw, drv->function); + ret =3D sdca_parse_function(dev, drv->function); if (ret) return ret; =20 diff --git a/sound/soc/sdca/sdca_function_device.c b/sound/soc/sdca/sdca_fu= nction_device.c index b5ca98283a889..54604872ae0d8 100644 --- a/sound/soc/sdca/sdca_function_device.c +++ b/sound/soc/sdca/sdca_function_device.c @@ -32,7 +32,8 @@ static void sdca_dev_release(struct device *dev) =20 /* alloc, init and add link devices */ static struct sdca_dev *sdca_dev_register(struct device *parent, - struct sdca_function_desc *function_desc) + struct sdca_function_desc *function_desc, + struct acpi_table_swft *swft) { struct sdca_dev *sdev; struct auxiliary_device *auxdev; @@ -50,6 +51,7 @@ static struct sdca_dev *sdca_dev_register(struct device *= parent, auxdev->dev.release =3D sdca_dev_release; =20 sdev->function.desc =3D function_desc; + sdev->function.fdl_data.swft =3D swft; =20 rc =3D ida_alloc(&sdca_function_ida, GFP_KERNEL); if (rc < 0) { @@ -99,7 +101,8 @@ int sdca_dev_register_functions(struct sdw_slave *slave) struct sdca_dev *func_dev; =20 func_dev =3D sdca_dev_register(&slave->dev, - &sdca_data->function[i]); + &sdca_data->function[i], + sdca_data->swft); if (IS_ERR(func_dev)) { ret =3D PTR_ERR(func_dev); /* diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_function= s.c index 1196cc09389ae..e01d91eb3cc81 100644 --- a/sound/soc/sdca/sdca_functions.c +++ b/sound/soc/sdca/sdca_functions.c @@ -2072,8 +2072,7 @@ static int find_sdca_clusters(struct device *dev, return 0; } =20 -static int find_sdca_filesets(struct device *dev, struct sdw_slave *sdw, - struct fwnode_handle *function_node, +static int find_sdca_filesets(struct device *dev, struct fwnode_handle *fu= nction_node, struct sdca_function_data *function) { static const int mult_fileset =3D 3; @@ -2155,7 +2154,6 @@ static int find_sdca_filesets(struct device *dev, str= uct sdw_slave *sdw, set->files =3D files; } =20 - function->fdl_data.swft =3D sdw->sdca_data.swft; function->fdl_data.num_sets =3D num_sets; function->fdl_data.sets =3D sets; =20 @@ -2210,13 +2208,11 @@ static int find_sdca_hid(struct device *dev, struct= fwnode_handle *function_node /** * sdca_parse_function - parse ACPI DisCo for a Function * @dev: Pointer to device against which function data will be allocated. - * @sdw: SoundWire slave device to be processed. * @function: Pointer to the Function information, to be populated. * * Return: Returns 0 for success. */ -int sdca_parse_function(struct device *dev, struct sdw_slave *sdw, - struct sdca_function_data *function) +int sdca_parse_function(struct device *dev, struct sdca_function_data *fun= ction) { struct fwnode_handle *node =3D function->desc->node; u32 tmp; @@ -2254,7 +2250,7 @@ int sdca_parse_function(struct device *dev, struct sd= w_slave *sdw, if (ret < 0) return ret; =20 - ret =3D find_sdca_filesets(dev, sdw, node, function); + ret =3D find_sdca_filesets(dev, node, function); if (ret) return ret; =20 --=20 2.47.3