From nobody Mon May 25 02:42:54 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 5108A348C51; Tue, 19 May 2026 13:54:48 +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=1779198889; cv=fail; b=W/BLEtmuzI0yyneXvhiGGvIPPQOM5jo68Fi1Tm7BSp77fdoO5WsRsv7KPRlyPEbrEXGEVANWB8MWACyD1HFmPhU2gSDu1zNWZlUL1ZJxiygt3807uNOHRm5YITpnWoPzoaQ33oh8LqS7Gw5eI8JoHcBSN9WIXe+1E/6rjaqovdA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779198889; c=relaxed/simple; bh=ec/9M6OhwYDIcauVGVxyu/spOr6wVeC4O1yOk9HmjxY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=nSz9vI+nsz/OY4/5F306Da8enH8KoWQptkS3Hq6KuRo57ZbA0LkM0nK6gETC6l18zY/7RV2H5jEeW32GjQ5LkrRPfoiyFJZ9Juk0xiQ9IIjWM9TQQ/gby4hfltSsv7ypuxWfbwNjZL17ZNgSh3HQkAwZMz69IYvmXUfQhEnPH7g= 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=FtOhCMv+; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=EI0QUhDi; 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="FtOhCMv+"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="EI0QUhDi" 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 64J4f41J1301056; Tue, 19 May 2026 08:54:45 -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=MSY6tq0kGwcq6De21sacBNjFsnGN43LEgbMzl8H/zS0=; b= FtOhCMv+zJkFOz60K7mY4D/szp7GJUwLmoE/nT5rKReg/lL8SrGPX5wWd59j6pEt Ac1x34WISVXcaVjH3TksBrlDS5rj1yPsNRpaUiUjqJu6KzgrN0UQbgjGAz6XFcZf K+uZW7Odlgb8Fp1MCbpp2wdUL8XmDf+wWuJo7d456YlC5KUOhnQVIOBZwpXDi2Hc BreNSWW8DAnZWB5Ec7Vl5rwvL4X8FlGWzDeCaxgMPeAb0rLLZxHQF3gQPLmj/5yc 2PpJgMWxgzE9BgWqxmN3srp0K45tIcxeYLP7pSf/fgFyetKGxx2TbZ4MZe2MxkFT HCFCVanVKiK2f7QjrVmV1w== Received: from ph8pr06cu001.outbound.protection.outlook.com (mail-westus3azon11022097.outbound.protection.outlook.com [40.107.209.97]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4e6p00kpe0-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 19 May 2026 08:54:45 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QHbPpRZEmvW0tl2mLKi9HpJWfRC9Y3cO98idubwZrBPCfBSBNstQt8JcCWkiS4SI3ZvRHubMk2cMqnXFZDkcO/tfPtmeN6JkEPz6OutEYTh7Z5q1kz49Jy6GRw+Yu4oK0QT5bcGwkhzIXeXEMA1GoxLe5TJV85x3tbRSTndk7adUzzMls2+8yCiik/3U9SeuEa+U9kmsvDxZJ+sMtmRoyHmDLR5/X5hA6uraWwAa01H2sSwYA0ecC2v/Ni3ZnlVfvjVQFWCRXYbqbMT9Lu124HHLpE/S5iE608yIV9n6fnQInorHGYr4MowSq3PeTZnJh2IVq/wIKr6bDL6sIOAK4g== 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=MSY6tq0kGwcq6De21sacBNjFsnGN43LEgbMzl8H/zS0=; b=wbRt9cijJ6d3INDXOjvvnnfjhCt4aysuMDTfSxoDnt9qI7k8eOf+7htFAGrwx+7iTEPlmoHZU8D+TlUxUT8U0nJDB4Rr8YmUBmCZrUGcq7MO2gpK74/EZevK1X6ArjxAhEgyAR+ZKL7Lf7fetSDpiD92v9N36QBO7fb8ZkThj+qhRUBjeC/vwPuglDNHdsJwHOuYcGvKpIVoBJWNJokLOPpMM/QmXorhg/Oi+r7gbK/mPUHHKKrCDyfNo4RxwYyXRjezFl+l8a7YH+nA2WTzi2XFU9qMCW+kHj5dy0otG/NuX6O3/a5TTAn8lViR2SC7eDFkWZD4ffjpuodLwiuvcw== 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=MSY6tq0kGwcq6De21sacBNjFsnGN43LEgbMzl8H/zS0=; b=EI0QUhDiSHZl8q8PEl3Sy+VNiugypBONZBXBcL4yt61lTtuQ+KP3/+z9B7cjO5ROQ0sFz8KXOgqiDkwN6y2dTK0VCVZHqulrEHb58JCcPQ8+YYOMRoU+aP2uM8/E38MInMtJBIBMP89uYl6oZm7GU/GijF5JD0ggYH+oU8VFeHQ= Received: from CH0PR13CA0035.namprd13.prod.outlook.com (2603:10b6:610:b2::10) by PH7PR19MB6561.namprd19.prod.outlook.com (2603:10b6:510:1a7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.23; Tue, 19 May 2026 13:54:38 +0000 Received: from CH3PEPF0000000B.namprd04.prod.outlook.com (2603:10b6:610:b2:cafe::3e) by CH0PR13CA0035.outlook.office365.com (2603:10b6:610:b2::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.15 via Frontend Transport; Tue, 19 May 2026 13:54:37 +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 CH3PEPF0000000B.mail.protection.outlook.com (10.167.244.38) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Tue, 19 May 2026 13:54:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 5DD82406544; Tue, 19 May 2026 13:54:35 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.13]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 4716482025A; Tue, 19 May 2026 13:54:35 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH v3 1/3] ASoC: cs35l56-shared-test: Subtract reg_base offset in dummy regmap Date: Tue, 19 May 2026 14:54:33 +0100 Message-ID: <20260519135435.479949-2-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260519135435.479949-1-rf@opensource.cirrus.com> References: <20260519135435.479949-1-rf@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: CH3PEPF0000000B:EE_|PH7PR19MB6561:EE_ X-MS-Office365-Filtering-Correlation-Id: f4cb1bf2-1f01-4ed4-d241-08deb5ae2a48 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|82310400026|36860700016|376014|22082099003|11063799006|16102099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: W5e/PQLF67jO58YxVW25iQHzOZsM0vK2k4TxBOsw2iJvmathICHaQSXo5FUfbC+sNyX3Tlg6MGyZVmJbt6pzOmlrs/K/lowilyU9hbLac6JFyGbIhfmyUrYTu10UacUN+zErXFHx/hGDmc2bGc+Qg/1DykC8rnY6fkclbMBgvKrRigYRuGNNyE5bGd8PpORLLwDaL//v+eSnYfoDqJr2mYajMHLSzI2NW4Mft/PMOkXgUNPlpJTaXGNrNZN19Z1mNkQ/y13XKZ7dKUCqrtxgb0T7s36dN74GCwSOtCaJlF3MoAtQhBsM4LJ99g1hT72JbAr5IngYpzIcMNkQJSw4EZ/ZO+x+9ri4rEmW/vZYxC7aIaGpSELUS+Hzag6RpBZw2nXV3ZBdUb9IVITP58NTZu8TPY4Oh9rb0yR7j5fJnquu/0qm82g2uRrB0MavgPW/spFC/IGpHIqmJaEFiMoEtWAT1BBU05aws7FOF64k/1W2TaunMOFDwVBt4+iy3O9FhTapnggj2eQxbzWYvPqZ0PQS20TGOKOaIis0OKET6JwvbF50AXgLGoouSztwCK4+xDcWm7dlh0p5Y8+aXXP0nt4wuEeoRjwadIncuXcRVcyqV4hVCIaReMaF3eJ2UWjST05b1YXXd+a9azwZF42JIHP1sVugfp/Z4MAcDRdJE83rg5HMP7ttMZz61pYm3mVnN3P2kE80GflTh0FPt4LBfba5geFI3qBI2ejfee5ypKY= 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)(36860700016)(376014)(22082099003)(11063799006)(16102099003)(18002099003)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Fm+tytFkH6JeG9HE3Kk3k7awWwaULVzLahe1yKdIHYXPYPNamVjtLW3Ym7Wwo19/DyjvFLakxPlGUS9B9OCfcRZMXra6peNL1oetCCJc3sxcuruo1nCPsk+M76vUdGEUrMNRKS7J5cLmz0l9q51pXg9zv4lvBIiEjIXVC8TQeaJL7yUrcWJLMBgirknS4ZsUjVNhdgnIRvV6uCIDTqxT7ZVkTqODTQpLCnDf/nzbO15zdTYeCpaEF5TC+EU6b1KBd2PTJn+jlcZ1UdIvPtOIGlv8Hl8WS1nDVJiHxAAsFO/mgKT4brn6tKKRsRVGuJJc86Ht2n4+yk2QkDrWXgCZ7WmsTK9ojDk5M1qp2YpZKrF6xdZv4wF+h3WT8cnzIG1PpvnSZm8Y29rwNnyDMKBnc3778FxXDIM1kqnzIGBnet0IIrkyETfRt6BUfCYiHfez X-Exchange-RoutingPolicyChecked: NNpip2gh7MhRXoGavjFX7yQmhjvxr2XJPSUab3D1b0SN7v1IUlE4/FRqI1a6EZY2T6uyHp3HNnSrfVHSrUQW32cRY39IA/lTndfrBXkXsB0Z6tk1Sukm1sv2f3Xj7dODQgP0taCvJoNovwxCjEfzIayanuNsh1n82cW1ToJ0UXMVVKl64afRs3mdm6FSQyouLjjoxdmz1/NcgoRq9IiD6ukp4sC9ysN0FA8pkZvDsKhgUEyLyAKwedKfub/MvnaJq/CeXhyzX/b7bmneDQJNBRejoLGy4+b9x/5XT0ex6v6ouDDrb9TGTdwYEhVNjDLU3WcJy2LUg/GwZO2vouFbXg== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2026 13:54:36.9187 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f4cb1bf2-1f01-4ed4-d241-08deb5ae2a48 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-CH3PEPF0000000B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR19MB6561 X-Proofpoint-GUID: lFqGjCcCHS4tgiM47YPvovToCPKUoTH5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzNiBTYWx0ZWRfX5kgAsUD8Lxdf DPRxdbcDMgfn+owKTsvHOZlNLr6juj3L2D5hD1RuK+em1tJZRuUpIYIFpGJ6h4C8xKKgbIWseDK lIzKpNYmAt890Sld3f6oG8T1P2R86vM4C5Iq5BkHmx8/7zBdnvy19JNViHTBsTXp/Yvnc0DgVLi weQJ1xeDxGk8L4ndWd0VH1lX2ioJhzojzCKbLg4897Zrgi9ruj+7LNfTArl3eeYtNadbc83rni6 pfYMHmKkyfpJ33DKS41rGCNgMBk7bH0jFhAlkgpvkiMSzqwbrWaPVOzA4V8Rwly8iMNqVD09HeW 71X0423GVN/zwisylkdfwCkes6fhpWYGeXVs8EveZRN0ariDH1H1h5ppniTZaRN3GtEOtJK2ADR pf40/SKBd9L3dnbB2bM80mPVWavtA+uhkkyoTtS/ECtBZb2LIOg7FQ5LnWbnKUP/+ZjYPwxG1yT LsG4FRLKflbAlyQy/BQ== X-Authority-Analysis: v=2.4 cv=UYBhjqSN c=1 sm=1 tr=0 ts=6a0c6ba5 cx=c_pps a=r3te4Imtu9HTTQNar+7i2w==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=NGcC8JguVDcA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=ve_jvgD7g6zz6r_kzScA:9 X-Proofpoint-ORIG-GUID: lFqGjCcCHS4tgiM47YPvovToCPKUoTH5 X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Subtract the value of cs35l56 regmap_config->reg_base from addresses passed into the mock regmap bus. Chip register addresses transferred over SoundWire are offset by 0x8000 to move them after the address range reserved in the SoundWire spec. This commit prepares for changing the cs35l56-sdw driver to use regmap_config->reg_base to add this offset. When that is done the addresses passed into the mock regmap_bus will include this offset. Signed-off-by: Richard Fitzgerald --- New in V3 sound/soc/codecs/cs35l56-shared-test.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/soc/codecs/cs35l56-shared-test.c b/sound/soc/codecs/cs35= l56-shared-test.c index cfe7938065f9..8060a275d32b 100644 --- a/sound/soc/codecs/cs35l56-shared-test.c +++ b/sound/soc/codecs/cs35l56-shared-test.c @@ -29,6 +29,7 @@ struct cs35l56_shared_test_priv { struct faux_device *gpio_dev; struct cs35l56_shared_test_mock_gpio *gpio_priv; struct regmap *registers; + unsigned int reg_offset; struct cs35l56_base *cs35l56_base; u8 applied_pad_pull_state[CS35L56_MAX_GPIO]; }; @@ -194,6 +195,8 @@ static int cs35l56_shared_test_reg_read(void *context, = unsigned int reg, unsigne { struct cs35l56_shared_test_priv *priv =3D context; =20 + reg -=3D priv->reg_offset; + switch (reg) { case CS35L56_SYNC_GPIO1_CFG ... CS35L56_ASP2_DIO_GPIO13_CFG: case CS35L56_GPIO1_CTRL1 ... CS35L56_GPIO13_CTRL1: @@ -214,6 +217,8 @@ static int cs35l56_shared_test_reg_write(void *context,= unsigned int reg, unsign { struct cs35l56_shared_test_priv *priv =3D context; =20 + reg -=3D priv->reg_offset; + switch (reg) { case CS35L56_UPDATE_REGS: return cs35l56_shared_test_updt_gpio_pres(priv, reg, val); @@ -657,6 +662,7 @@ static int cs35l56_shared_test_case_base_init(struct ku= nit *test, u8 type, u8 re =20 test->priv =3D priv; priv->test =3D test; + priv->reg_offset =3D regmap_config->reg_base; =20 /* Create dummy amp driver dev */ priv->amp_dev =3D faux_device_create("cs35l56_shared_test_drv", NULL, NUL= L); --=20 2.47.3 From nobody Mon May 25 02:42:54 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 7DB4C3ED3A4; Tue, 19 May 2026 13:54:55 +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=1779198896; cv=fail; b=Scz+zvTRyzAIH1H/1eMVJFHH3zOp1k9ZmiLYklXgO76YXX104E18o4PWGrU6j9Q5AOhYNFT9wKtBkaewAK0Nh+i6Ift27zq0fYAxuSJiKPtMXfaP/yTyTLVubrzHb+n/EAHZ1MWth1PHeN6oqVWaCR9/jb0v79GrpWUcIceEsfA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779198896; c=relaxed/simple; bh=DEv9ZCbfG473xzv0h9eQyMGeXfxsdv4rF4JHIhBhth4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=sAG/GyEroTfNwZhEFnqPORFuQjy1QZdF/Rj71IXpWGvtpRBBM523A0ex80LOsJ4ti2iwDCSpRKKDZRe0DWQL56U7tL3S1vXjSkBviLSixN2N8Z5TOJGh+CCROtn3ADdiUeUN+VphkIB1l2/erPfst0EltPzncSCjXYiKYt7EpcY= 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=dk//2h51; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=D2O6h5ik; 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="dk//2h51"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="D2O6h5ik" 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 64J4vHNG1263394; Tue, 19 May 2026 08:54:40 -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=whra669tiCHQ+poCDj6EAIbsU08bPNAKOf/ImM/atoY=; b= dk//2h51XYC5sJEVd9q3jLu0r/DF0FYnLgavz2pr7tRcKgkR+KA99dMXfQq8aiVR OMk+rGBzljuXuwcbtYVSZruUMCd5cjZzMV7gHMFvomFcDR93URZDteP0yZ5bPjh/ yUJk6kfwn+cGAT/38V3pGA7RpPCzg5xUaE3GSsf3IESsdzSV3NYodVWGtNn5RG9t nN0syF0R9IPVC0FBg5ooJWWHAKtEKdfvrhFL6fzBO8QTkuwIK2jR8cmQPiwYYy0J 4SZonVNt8ByAtD+YFEO/20xOlT0mO5Xz5cVTCRMUPzFOyQ6990JM8jRtF0yRGuCX zILW6ilCxRUS99dXpgfJRA== Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022114.outbound.protection.outlook.com [52.101.43.114]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4e6n0hbpm7-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 19 May 2026 08:54:39 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=j9yS7sb9N2fpdLCr2eiFZ7UEru1Nke7BIlzgNhx+/vL9UUgaPv9VTga/fdN2x/ZVOb4cs8z4SHHu54q+gfp1Ev6t2PWSep10P61GPM8ccq2QW4ZTCoQltaVA6+eZAXIbZowOdlFoyuZjq1izO+/aPiO0J7DvIVl6xdht11JHaWwWauHdAZBAQv9LiNxb4XujjtpdBG5kWcBMt5ffB9X2QGj9XdQ5nZoApebCcq7+VkFgq729gVpFc9iy64d/4Pr9IFMuWYimkMavshn68c6s9FUBQ+jtnfAVfGlCx0ymR84Nx6RY/BVhrLFT5XkJiEIVH035GA3+/mEPomM4pY/Bsw== 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=whra669tiCHQ+poCDj6EAIbsU08bPNAKOf/ImM/atoY=; b=Lr0u4OOh/ZnokEpfxkdBd6DheMCFVNHSPWLqiqpbzTrPYroAYi6XV9QtPytb8CwDNmPC5eRiECRHT1AvznNXjOs3RK/kSC5FzLyJeTCZE+4jTqgQzxGzu8fkuu9VH+Il3cvUOsC/uC60d6yeps4y/KL8yMcEsjwWd3eswZjhz6P8u99XqooyDjwNA8JLzkjs+m9zdeVL1C9kLdGF4bHJSPT5LrNBLnHomFNjzkun92vKr1HJeHd69UEdnpDUQBFR8oqCoeuj2ueA99ys3jize5wK8jAuKm3uNiB30j9QDVP2ibwTxX9YBPDIj130xISi5C/FS7UlNnNm+AQ0uoBsEQ== 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=whra669tiCHQ+poCDj6EAIbsU08bPNAKOf/ImM/atoY=; b=D2O6h5ikNi1iZrti0kAktDszts64r1+T98LAaXCJUHxJxkmzZ1dzZewpgqCnIHb2iY8mH9dQ9Tj2UnUYEc7emrNf0ZEIjCuV5BdAzViDa3wlP/UKkt/K/a616I+2RX2qJpc1L71w/5aWDrqsGZKvOsWM7Hph/K91S5eEsJuyW0M= Received: from BN9PR03CA0170.namprd03.prod.outlook.com (2603:10b6:408:f4::25) by BN0PR19MB5261.namprd19.prod.outlook.com (2603:10b6:408:150::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.23; Tue, 19 May 2026 13:54:36 +0000 Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com (2603:10b6:408:f4:cafe::10) by BN9PR03CA0170.outlook.office365.com (2603:10b6:408:f4::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.25.24 via Frontend Transport; Tue, 19 May 2026 13:54:36 +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 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Tue, 19 May 2026 13:54:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 6225840654A; Tue, 19 May 2026 13:54:35 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.13]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 496A682026C; Tue, 19 May 2026 13:54:35 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH v3 2/3] ASoC: cs35l56: Use reg_base to offset addresses on SoundWire Date: Tue, 19 May 2026 14:54:34 +0100 Message-ID: <20260519135435.479949-3-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260519135435.479949-1-rf@opensource.cirrus.com> References: <20260519135435.479949-1-rf@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: BL6PEPF0001AB78:EE_|BN0PR19MB5261:EE_ X-MS-Office365-Filtering-Correlation-Id: ed959b16-9acf-4ea8-9164-08deb5ae29c9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|36860700016|376014|82310400026|22082099003|56012099003|16102099003|18002099003|11063799006; X-Microsoft-Antispam-Message-Info: b1mGJElZnPC9MjhpZ76SmPGY9/UVA9T5Y3hERNoMp7+9Ex3KuBdmWstVnZxUBCuSl8SNmoEhlJaH/Ss8sDnEMaGPfSSak4DZX/yXAK/zt8svJgT3Nmt3Kk7AkSSSarSSFrK1T43Snt6N0rk7T1pc8OWGYi3/8dGpDE7Uver6zlhzn/svOPe6/iQIpIRkYQLFaNi28qNGuDUVL147vZrSgONjxJxYwsJ+cJDKAcqiM9juXD7kgl4bmZH0F5Zz40ysWRNOiU9t8LHHgPIZ5ZjMYfJv+rWm7Oke12d4oqPs/n08n47lv95XrGq3CbX6q/M4ZoGdatP6FTOBYm9GpI7gXBU+R/Nt/nSf8EdgacdvNGcs7eyAYHbpfOB0YnfbW4fKpXxaeU8pDBQ3o1GVUV+QVdBEKgFi/dq5lVgg19JtjB4Rf1WtDFpHTG4pUIIT1yi9nJkn4zSCcQAtkDu9+b1xbAvzJVURL7mV7vs9ueVCQ7xwTwWRw8jtYvr3IJ9YQ/lBmsXlLb5tfiGzlwW2MZjVqStNACHNOzneAI3Qy2K4WBxATpkQ87wXOSbNXh4pPdu/SFeX9fGuKsOEyRD8EMxA9CBUAslZQc7B7+oy65zD9Oh8euVyQYoTZZ7Yyn9J4INrAKIRZEZsAlD7UhmGl9jSwf1WHH5hJ5p9/+0ZcheUV5Dwpjgf2AzFIZuW5d0ovyTGin8LL9deDFQHCpExpnaMtgVZnJopBSe/n7YoougPSaU= 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)(36860700016)(376014)(82310400026)(22082099003)(56012099003)(16102099003)(18002099003)(11063799006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VfHCrMFrfe03Xynev+4A4jt2inN+DcZdpg++gSNU/b0nllJaysnumAh8atvfo2KDy2GdX31eNoHZ9YSCe3J3gtKgGgAscb5IOmikb5wiuxiS4PLRRpGelBB6F+g87g5XRc/iXkfhFgwjbFCUe670nZws4xR5Zz3w+mujln8OD9tBR6In+Qj8ERaMGrBfx0zbGgCTjL7E4oUccyypKWlFojGbqCBUk9W9EborwK4wwGONAUp5kw6UoLqmQ3VcgodZYTLADLRg5GIVu+11v20kAWLmtdjCsSRICT8GhSGiRhOgvjE1MUHfd23AEoWOKZm33TmQM31l1ubWLn5215iAk0TH0SngPbQSWLI7J3DDq5+zr5Gx6ydQ3tUd9nHgTjz1go3TljiST6QfGSfvSXvKcqS3vqf5ph9GRN9JVPNXdqmGDwK6ggZ0AD48ulb2NhUf X-Exchange-RoutingPolicyChecked: IrdAird/9z1lfKivjLCt9Z0ueJ0HLvZKbXXuJ5+vgucqkuyRwQw4+y53fPOisElPoSYT5EuJmWJGTa/+Ps1qU2sdl/dQCrcqjo3EZhflECdG3QBGAOvbTps1o5sGoAomJmSxI0YiTxl/NbqhXnJc9B5lEU03cGDwaR0H8PVGIIlo0jcDDnstoBjDk6GApxM4IU3FvbJcH50UwnoMh/rZN3ui2RmJ9VYiHmzURN6lcVD6dqWWojZCYmBRJJ7DmM6qacR4jX+PNE3aDt3tD+7+a9tiQHB6z5huV8/s4p992QgAANI4fvtL8TsejybWd+a+xC1p6UIX7b5Oz92+0ivRSg== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2026 13:54:36.1154 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed959b16-9acf-4ea8-9164-08deb5ae29c9 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-BL6PEPF0001AB78.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR19MB5261 X-Proofpoint-ORIG-GUID: _BGCZg66VbewT2r--qXYYlQ0nE2f9mnX X-Authority-Analysis: v=2.4 cv=Cag4Irrl c=1 sm=1 tr=0 ts=6a0c6b9f cx=c_pps a=ZQLENUxQXoe8E0vMiJlD6Q==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=NGcC8JguVDcA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=3ATER5miuquMFiRRYokA:9 X-Proofpoint-GUID: _BGCZg66VbewT2r--qXYYlQ0nE2f9mnX X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzNiBTYWx0ZWRfX+jaYhbmSF/oZ vrJZ5PiD4gOFGkf2dt2h4fZxKehUALFy+mlaIHCi3moYT3Ksm14wPjGBhZbEAJyJpNiONWd18ve XOhbMPeyqgggeCHBRPt80jKGLJVOEv+cr7YhQ3O68LyZ37fuY9DpVGWqIPB589zeonbE/vpDRPj SV8Sh/uP+KZCpdbl8Z+AEU/wrQHwTwhQMy3+qLQNMWEUcfbuTf+NNUhqfY56lLxMnH5chcMAbgC UOBatl2IDpiJ/+N6omjOS+iayOJiZeC9UKLAjfxFcwBCfWA/l1hIapQGlA8JB4JV+wOVjnS28xh YqPi69ISoBra0S5+pRdtHaXfqW03dBfqxkitwWVMWnY319DnUHVuJK3GIrxrW/2TPfAq/KC1/kF WlppSxmoZz+AWXUYEWGcETGU1Cq0Q2DyuCZH4u+Zm36B53sQvSrHTT32cqaqlSOWc9aLdcd6e17 NeXnrimq8uVP+IXDdyw== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Set the reg_base member of regmap_config for SoundWire so that the regmap core will apply the 0x8000 offset to addresses, instead of doing it within our low-level regmap read/write callbacks. Signed-off-by: Richard Fitzgerald --- No changes in V3 No changes in V2 sound/soc/codecs/cs35l56-sdw.c | 7 +------ sound/soc/codecs/cs35l56-shared.c | 2 ++ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/cs35l56-sdw.c b/sound/soc/codecs/cs35l56-sdw.c index d5b9e5f71de2..d9dcca1e952f 100644 --- a/sound/soc/codecs/cs35l56-sdw.c +++ b/sound/soc/codecs/cs35l56-sdw.c @@ -59,8 +59,6 @@ static int cs35l56_sdw_slow_read(struct sdw_slave *periph= eral, unsigned int reg, { int ret, i; =20 - reg +=3D CS35L56_SDW_ADDR_OFFSET; - for (i =3D 0; i < val_size; i +=3D sizeof(u32)) { /* Poll for bus bridge idle */ ret =3D cs35l56_sdw_poll_mem_status(peripheral, @@ -123,11 +121,9 @@ static int cs35l56_sdw_read(void *context, const void = *reg_buf, =20 reg =3D le32_to_cpu(*(const __le32 *)reg_buf); =20 - if (cs35l56_is_otp_register(reg)) + if (cs35l56_is_otp_register(reg - CS35L56_SDW_ADDR_OFFSET)) return cs35l56_sdw_slow_read(peripheral, reg, buf8, val_size); =20 - reg +=3D CS35L56_SDW_ADDR_OFFSET; - if (val_size =3D=3D 4) return cs35l56_sdw_read_one(peripheral, reg, val_buf); =20 @@ -186,7 +182,6 @@ static int cs35l56_sdw_gather_write(void *context, int ret; =20 reg =3D le32_to_cpu(*(const __le32 *)reg_buf); - reg +=3D CS35L56_SDW_ADDR_OFFSET; =20 if (val_size =3D=3D 4) return cs35l56_sdw_write_one(peripheral, reg, src_be); diff --git a/sound/soc/codecs/cs35l56-shared.c b/sound/soc/codecs/cs35l56-s= hared.c index 795e2764d67e..8e3538e28fad 100644 --- a/sound/soc/codecs/cs35l56-shared.c +++ b/sound/soc/codecs/cs35l56-shared.c @@ -1880,6 +1880,7 @@ EXPORT_SYMBOL_NS_GPL(cs35l56_regmap_spi, "SND_SOC_CS3= 5L56_SHARED"); =20 const struct regmap_config cs35l56_regmap_sdw =3D { .reg_bits =3D 32, + .reg_base =3D 0x8000, .val_bits =3D 32, .reg_stride =3D 4, .reg_format_endian =3D REGMAP_ENDIAN_LITTLE, @@ -1915,6 +1916,7 @@ const struct regmap_config cs35l63_regmap_sdw =3D { .reg_bits =3D 32, .val_bits =3D 32, .reg_stride =3D 4, + .reg_base =3D 0x8000, .reg_format_endian =3D REGMAP_ENDIAN_LITTLE, .val_format_endian =3D REGMAP_ENDIAN_BIG, .max_register =3D CS35L56_DSP1_PMEM_5114, --=20 2.47.3 From nobody Mon May 25 02:42:54 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 B46FB3ED3B0; Tue, 19 May 2026 13:54:57 +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=1779198899; cv=fail; b=pJ5YD7d/9Wh0rL7LElmI0LgAoTdzFDSYNYv91/mkvyQ1oxaoXimGEhStRqVnFTB4MK8yX1K7/2BGKrBRt5vMxtrDdTN//t2Me/L8FORP8SkiE4V2iqSidFdE4sLWsgRUC1EMF8RoEIMQjTMfyr0/WJ8jDmFNAUXbdNVg5VxNU70= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779198899; c=relaxed/simple; bh=k+bHhsVgmMFq9H+kqMODdccRzjKjWxu9m7bRd8iHvQs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=N6bYLvOkB/3nrVe1m4GHT84vgqCYgIggGev44Jm6m2qmU3GkLNE2i21/8j+/NdvZ777dcty+DWHYLj5TWuMszwnJ5gxb6DbHl3Jynp9MorxqKhQvBogcGm3C81bSu1VChN5GoF1hvqzKUQo1o6MlRcvV0lHm8M7QYgxgyM/y8zY= 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=nYqElYL8; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=TrJg3zOt; 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="nYqElYL8"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="TrJg3zOt" 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 64J4vHNH1263394; Tue, 19 May 2026 08:54:43 -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=pvbemie9qg+jG2sF6d0e+ZumDIa6KpzDrFjLHT9wivc=; b= nYqElYL8wVg31EB9d/xZzaUhZoxHZmjR7jssUYqnXG2gJ9i0tTQtjfnT1kqa1zPd ovB5P0v0zIUQ8yMMCMOPmPSER2P+q099sUO+Be6h2+SnwQ8/BsQMBVhAQ5Ltn5bH ZLGf/7CnUTuw3KDOL81k/Lhtt26ps8pIuiVXieOQ5QNEJXfFBGIinhv5k5VNt9iY qaK1BWvDpViCduqsBlAGiUGxI+k19LTM0xniHeS+O9+CxHhSjpLx0SYFxp4v0Fa+ 3q2GS+w1+StvKMHOTMGpFc1zjdanoWhDFFhfYsSFCi1mThjHhGBGwoxIXsHWaEjC 8K5pyytFoo1XsV2IstfYYw== Received: from ph7pr06cu001.outbound.protection.outlook.com (mail-westus3azon11020095.outbound.protection.outlook.com [52.101.201.95]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4e6n0hbpma-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 19 May 2026 08:54:43 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QAQo+RyYUnl8TLCvgKh2TPoLSHGAGwaEV22bUP0AFXMzRTFLpPQ20ALL8OeFlCzwmAM/4O1o0GE5SouYxIEjP9tCt1BUg6b1vNuxCycIfqiTtl3r5jgJGEM+FJHTnlmRxzbxNDqqm5VxZ0av5A8hgFevcgGgaWmQ7/RYmeMPzAbYXD7NnqrVDVzUBUx8YDCC6nA5oCVdIfAj7qV7x5UASxtrb/JmF68bNnqiGM0flnsfBu9ry9lV6Mad+/dQ9qMZa/rpzNcgBqN0rP4i3XoiDWPtBlNgsuz3ucIFD4qDjmGVjVmUYcJzf8WR12n1HqVTcvcBLFlgHE1jmWhYmO8TIA== 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=pvbemie9qg+jG2sF6d0e+ZumDIa6KpzDrFjLHT9wivc=; b=OY++UpCuB93WAzX6R2qCHplmHI0cdiA7JTbEe5ZvxWyAMtTyoXq2Np7jQ7CCP8tRbMRfzbs8bqhm0W7yi5CTuJCvTU7gTgxnzISx8bHceQo104NuUlLVcZDN6C67IotkV44gdtH5egxAygGHpDsFWTuFHvpd3puQEMt4QW/sBRM5sT/VmSFT8kq8sho4d6tFGNrTb2e27oHY2JYnenerXlqp29w/pQExhe7kHNobwx2dtJVX7FwHCtqEF/YkUaxzN6tORaH927cVITgvpXSTrTuPHLvrPAs7r/RDdp1m68sZUTET/Isc5/IRkgyRPMJjYgndjkjHaA/DDWIVM9tUHA== 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=pvbemie9qg+jG2sF6d0e+ZumDIa6KpzDrFjLHT9wivc=; b=TrJg3zOtggk66H04ziP+VwHvgjlmiee8Wqr5bNU/BWP40XFEy+MrZpY1LkYQ+ryPH7lzKTMTgT1rVBhGMILow6dea7/BWtHb5i9qJ5hsG1KlE7pVX3MfeBTzy2zS+khUmb8RwRrnWCb4DwFZvH7vAt3f15H9TTDGpdhwE1SgpHY= Received: from MN2PR11CA0012.namprd11.prod.outlook.com (2603:10b6:208:23b::17) by CO1PR19MB4966.namprd19.prod.outlook.com (2603:10b6:303:f6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.14; Tue, 19 May 2026 13:54:37 +0000 Received: from MN1PEPF0000F0E0.namprd04.prod.outlook.com (2603:10b6:208:23b:cafe::1c) by MN2PR11CA0012.outlook.office365.com (2603:10b6:208:23b::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.14 via Frontend Transport; Tue, 19 May 2026 13:54:36 +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 MN1PEPF0000F0E0.mail.protection.outlook.com (10.167.242.38) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.11 via Frontend Transport; Tue, 19 May 2026 13:54:36 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 6CC0F406550; Tue, 19 May 2026 13:54:35 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.13]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 4C218822542; Tue, 19 May 2026 13:54:35 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH v3 3/3] ASoC: cs35l56: Use standard SoundWire regmap implementation Date: Tue, 19 May 2026 14:54:35 +0100 Message-ID: <20260519135435.479949-4-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260519135435.479949-1-rf@opensource.cirrus.com> References: <20260519135435.479949-1-rf@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: MN1PEPF0000F0E0:EE_|CO1PR19MB4966:EE_ X-MS-Office365-Filtering-Correlation-Id: 5da4b85c-d029-4e0c-d579-08deb5ae29de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|82310400026|61400799027|11063799006|18002099003|16102099003|22082099003|56012099003|3023799003; X-Microsoft-Antispam-Message-Info: 8Rs4OjhT1wvR9slQgvlJ2qjEir06ExB4PV0uqD19Jv+FF9OMx8xIcSNtU7jjaJCEzRZP6UJfL7QjdSzmBh04bl7JktmnQWLNqJGRH5RL47o2X/tr61RHxEvGMRLmK7G1xOsH9dOgu4PA5sEjr925XamJE7p/H2c/Yl1F8rxLMVYyPT+ypxgTCLCEKbkHsDReM922YSaQ0nqESxaoge9Tmf1TIwKcPqmdgjNRVw0VtCHz3sN+tB5WQxNsWcaYKLoilmam+eWdoZ6y6DVPZHYTgdjdRG6BlN1sWZ6UuOVdUh//BEH77F1+mdDE8TEoL/zwmgSId9/qY0Qnj8Dx8mjRe+rFoeZyhbUUTdmLpXGooRgiVf3l0+LHK/0Aqz/KJi81Kcd6ftmlQKgEYcOFbk29DGhDgiAuNr45Pq9aqojuUAaHWnqTQqy+rPUTjhixkXqRhYv/6cPKp91aaUjtsC+3Zi+gGLAt5Qs7oIlk6Y3XnNUMsTEqMiPwV5IOUM63sOjF7hI8/UETp3tRZGsblbU2rFTfDNUvW7MyfzgESEChp+oQSr7Z2UgI0CfvmMazLxf+WEO+vqMCcPnPXpJrChsoP/mhTrSnpkTpwSc1kYn93Mv3VPyhLpRJ3HEegNvY4LWYj9SVKcQ2LYge6F0UKE3D9TSOC0ify6nX0sBWZcBu7lz05wd9oQGGSGzdb0cRlWWszVrNpdRiKXVbI3q4FpGOSNjaCFdP29jxipVBK/oZw+8= 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)(376014)(36860700016)(82310400026)(61400799027)(11063799006)(18002099003)(16102099003)(22082099003)(56012099003)(3023799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: w2uBpj0yO4FmYBi8MuxcUaz6TVR+nLGd83gBWZWA5+c8XIzCBF7gJ/cR067ttZ9qZZq1pOBgUHI0Ir9JLlh+6qHYHNIQE2yeZbpYb4/L85XOnozou+7Y6TC3MxDPeIwnqlUmjLHTaR5pZWQsiMdtCwAPNVLazvk8tCA05uiwYBRN6j+kmF23rEa3Z/izja0DKQXA0lYitAchBbEn3FT+aNuxpRoRl294hOvRrDkVCkvVCCFo+ZFcifnoH9XfpfYdPp2c95US8U4JpuPHtWGDmrd6vsMudMlqiHjnYuPDpBgQXCElPSzKy90OYBP6WI2buMO7X7XMP/qO6Ja2ODdWsRN8M0dLDZRFfa/3dwI0ry0T4VrhAO5JLHWKz/YlJEkI65qkbBiwgrs+bw9xPFETwiz6H01MocMwCGP/lfEX0aBqiEql84C1Uvm7JDa1NQVK X-Exchange-RoutingPolicyChecked: biWXI7EW+I3d14xtmYjWbwLGJEY6sFjKGalRUOgW3HuiMcEng6TRnaxS10qQ3v3r+SbiF2QOxxkXEz7IlHVVnbLylZS02oQ8yIxgL7ddMKgEucEGz1AfyfydPY1bHuUV6LZTo88QdhLQt8K7c4xECs8xRr1iu4OMkNksXEWq0yppxjWCkXzY4/HmW/X5DY137VnbYgeD5FmcPC9AjqMTZeY11sNBByJoV2YdfUVCJnRCdHQbqE00VtnIJMEbQTD5kQewWDVt9ihJXCIACUdrpJ5XIjcUkhmTMx04257eCtivZkgfUgN7SOF+3wZt1wYuQnKS2r8bhAisXsUoXGSxFA== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2026 13:54:36.2543 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5da4b85c-d029-4e0c-d579-08deb5ae29de 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-MN1PEPF0000F0E0.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR19MB4966 X-Proofpoint-ORIG-GUID: Zn_RPqwLQmA-qSjf-gMiMxyDQ_S-uSht X-Authority-Analysis: v=2.4 cv=Cag4Irrl c=1 sm=1 tr=0 ts=6a0c6ba3 cx=c_pps a=kIUNUHS17e34GyAlH7lOBA==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=NGcC8JguVDcA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=52NS7YWLYOiMMeI0TnwA:9 X-Proofpoint-GUID: Zn_RPqwLQmA-qSjf-gMiMxyDQ_S-uSht X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDEzNiBTYWx0ZWRfX0XtURjeAbMvq AUFQFyXc7EinBOehMb176e3t1dcF3ikQUeNGoXTC24L3UmP5pmL/NFisFvhzEg1dPpTEMm3DhhW k39RKKYfL8vmEorb9zj/dKAoZi+4eH7IMXoDcFt7cDrqWFjxnRxArBX1gCm1E9JliL5GIekL7o4 7WET8b2QLXCxC+aVXQHrmM5GXi4kaxErdnZ4ZxjH+tIwhQQzi8xMsqRKSPO6rLJpD5TKLVgyQie ZOY+ucFRQkAU5+ZDk8PsJan3ZMXeUh0PKLxpC0bnPMPPJOleSi0jryjHeJZl8buSWyOPEkHIM/w VUdMlghs33xtfPMOW0jAzTFm4Wm7M6LGmYzcyolHc057fGB11a3f6PZuuHWiXvgTV0XTTty/RjS z9o7XDqYtEcjcjkEhIBDN94VmyuGG90YdCKiZXr+ZR5eCNhs/GSza85LvGSTPmrnnl5hl59cdsq 7GE+A/95R3r3DQbFl9A== X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Use the regmap_sdw implementation for SoundWire instead of re-implementing the low-level bus transactions in cs35l56-sdw.c The cs35l56 registers are big-endian on I2C and SPI but little-endian over SoundWire. The firmware files are all big-endian and contain opaque blobs in big-endian order. So these must be endian-swapped to transfer over SoundWire. A custom regmap bus implementation is used to do this endian-swapping. The original implementation of this custom regmap bus was a complete bus backend, performing the endian swapping and low-level SoundWire bus read/write. This commit changes the custom regmap bus to only perform the endian-swap. It uses an underlying simple uncached regmap_sdw bus to deal with transferring the 32-bit registers over the SoundWire bus. Although this adds a small amount of overhead, from passing through the regmap APIs twice, it avoids having a local duplicate implementation of what regmap_sdw already does. The slow-read handling for OTP registers must access 8-bit SoundWire registers so it still uses low-level SoundWire bus reads. Signed-off-by: Richard Fitzgerald --- No changes in V3 Changed in V2: - Select REGMAP_SOUNDWIRE sound/soc/codecs/Kconfig | 2 +- sound/soc/codecs/cs35l56-sdw.c | 132 ++++++++++++--------------------- sound/soc/codecs/cs35l56.h | 1 + 3 files changed, 51 insertions(+), 84 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 5fdd0334c355..a7c61f7c7f4c 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -887,7 +887,7 @@ config SND_SOC_CS35L56_SPI config SND_SOC_CS35L56_SDW tristate "Cirrus Logic CS35L56 CODEC (SDW)" depends on SOUNDWIRE - select REGMAP + select REGMAP_SOUNDWIRE select SND_SOC_CS35L56 select SND_SOC_CS35L56_SHARED help diff --git a/sound/soc/codecs/cs35l56-sdw.c b/sound/soc/codecs/cs35l56-sdw.c index d9dcca1e952f..d2b82a846ae8 100644 --- a/sound/soc/codecs/cs35l56-sdw.c +++ b/sound/soc/codecs/cs35l56-sdw.c @@ -17,6 +17,7 @@ #include #include #include +#include #include =20 #include "cs35l56.h" @@ -95,55 +96,23 @@ static int cs35l56_sdw_slow_read(struct sdw_slave *peri= pheral, unsigned int reg, return 0; } =20 -static int cs35l56_sdw_read_one(struct sdw_slave *peripheral, unsigned int= reg, void *buf) -{ - int ret; - - ret =3D sdw_nread_no_pm(peripheral, reg, 4, (u8 *)buf); - if (ret !=3D 0) { - dev_err(&peripheral->dev, "Read failed @%#x:%d\n", reg, ret); - return ret; - } - - swab32s((u32 *)buf); - - return 0; -} - static int cs35l56_sdw_read(void *context, const void *reg_buf, const size_t reg_size, void *val_buf, size_t val_size) { struct sdw_slave *peripheral =3D context; - u8 *buf8 =3D val_buf; - unsigned int reg, bytes; + struct cs35l56_private *cs35l56 =3D dev_get_drvdata(&peripheral->dev); + unsigned int reg_addr =3D get_unaligned_le32(reg_buf); int ret; =20 - reg =3D le32_to_cpu(*(const __le32 *)reg_buf); + if (cs35l56_is_otp_register(reg_addr - CS35L56_SDW_ADDR_OFFSET)) + return cs35l56_sdw_slow_read(peripheral, reg_addr, (u8 *)val_buf, val_si= ze); =20 - if (cs35l56_is_otp_register(reg - CS35L56_SDW_ADDR_OFFSET)) - return cs35l56_sdw_slow_read(peripheral, reg, buf8, val_size); + ret =3D regmap_raw_read(cs35l56->sdw_bus_regmap, reg_addr, val_buf, val_s= ize); + if (ret) + return ret; =20 - if (val_size =3D=3D 4) - return cs35l56_sdw_read_one(peripheral, reg, val_buf); - - while (val_size) { - bytes =3D SDW_REG_NO_PAGE - (reg & SDW_REGADDR); /* to end of page */ - if (bytes > val_size) - bytes =3D val_size; - - ret =3D sdw_nread_no_pm(peripheral, reg, bytes, buf8); - if (ret !=3D 0) { - dev_err(&peripheral->dev, "Read failed @%#x..%#x:%d\n", - reg, reg + bytes - 1, ret); - return ret; - } - - swab32_array((u32 *)buf8, bytes / 4); - val_size -=3D bytes; - reg +=3D bytes; - buf8 +=3D bytes; - } + swab32_array((u32 *)val_buf, val_size / sizeof(u32)); =20 return 0; } @@ -157,57 +126,34 @@ static inline void cs35l56_swab_copy(void *dest, cons= t void *src, size_t nbytes) *dest32++ =3D swab32(*src32++); } =20 -static int cs35l56_sdw_write_one(struct sdw_slave *peripheral, unsigned in= t reg, const void *buf) -{ - u32 val_le =3D swab32(*(u32 *)buf); - int ret; - - ret =3D sdw_nwrite_no_pm(peripheral, reg, 4, (u8 *)&val_le); - if (ret !=3D 0) { - dev_err(&peripheral->dev, "Write failed @%#x:%d\n", reg, ret); - return ret; - } - - return 0; -} - static int cs35l56_sdw_gather_write(void *context, const void *reg_buf, size_t reg_size, const void *val_buf, size_t val_size) { struct sdw_slave *peripheral =3D context; - const u8 *src_be =3D val_buf; - u32 val_le_buf[64]; /* Define u32 so it is 32-bit aligned */ - unsigned int reg, bytes; + struct cs35l56_private *cs35l56 =3D dev_get_drvdata(&peripheral->dev); + unsigned int reg_addr =3D get_unaligned_le32(reg_buf); + u32 swab_buf[64]; /* Define u32 so it is 32-bit aligned */ int ret; =20 - reg =3D le32_to_cpu(*(const __le32 *)reg_buf); - - if (val_size =3D=3D 4) - return cs35l56_sdw_write_one(peripheral, reg, src_be); - - while (val_size) { - bytes =3D SDW_REG_NO_PAGE - (reg & SDW_REGADDR); /* to end of page */ - if (bytes > val_size) - bytes =3D val_size; - if (bytes > sizeof(val_le_buf)) - bytes =3D sizeof(val_le_buf); - - cs35l56_swab_copy(val_le_buf, src_be, bytes); - - ret =3D sdw_nwrite_no_pm(peripheral, reg, bytes, (u8 *)val_le_buf); - if (ret !=3D 0) { - dev_err(&peripheral->dev, "Write failed @%#x..%#x:%d\n", - reg, reg + bytes - 1, ret); + while (val_size > sizeof(swab_buf)) { + cs35l56_swab_copy(swab_buf, val_buf, sizeof(swab_buf)); + ret =3D regmap_raw_write(cs35l56->sdw_bus_regmap, reg_addr, + swab_buf, sizeof(swab_buf)); + if (ret) return ret; - } =20 - val_size -=3D bytes; - reg +=3D bytes; - src_be +=3D bytes; + val_size -=3D sizeof(swab_buf); + reg_addr +=3D sizeof(swab_buf); + val_buf +=3D sizeof(swab_buf); } =20 - return 0; + if (val_size =3D=3D 0) + return 0; + + cs35l56_swab_copy(swab_buf, val_buf, val_size); + + return regmap_raw_write(cs35l56->sdw_bus_regmap, reg_addr, swab_buf, val_= size); } =20 static int cs35l56_sdw_write(void *context, const void *val_buf, size_t va= l_size) @@ -226,7 +172,7 @@ static int cs35l56_sdw_write(void *context, const void = *val_buf, size_t val_size * byte controls always have the same byte order, and firmware file blobs * can be written verbatim. */ -static const struct regmap_bus cs35l56_regmap_bus_sdw =3D { +static const struct regmap_bus cs35l56_regmap_swab_bus_sdw =3D { .read =3D cs35l56_sdw_read, .write =3D cs35l56_sdw_write, .gather_write =3D cs35l56_sdw_gather_write, @@ -234,6 +180,18 @@ static const struct regmap_bus cs35l56_regmap_bus_sdw = =3D { .val_format_endian_default =3D REGMAP_ENDIAN_BIG, }; =20 +/* Low-level SoundWire regmap to transfer the data over the bus */ +static const struct regmap_config cs35l56_sdw_bus_regmap =3D { + .name =3D "sdw-le32", + .reg_bits =3D 32, + .val_bits =3D 32, + .reg_stride =3D 4, + .reg_format_endian =3D REGMAP_ENDIAN_LITTLE, + .val_format_endian =3D REGMAP_ENDIAN_LITTLE, + .max_register =3D CS35L56_DSP1_PMEM_5114 + 0x8000, + .cache_type =3D REGCACHE_NONE, +}; + static int cs35l56_sdw_get_unique_id(struct cs35l56_private *cs35l56) { int ret; @@ -555,8 +513,16 @@ static int cs35l56_sdw_probe(struct sdw_slave *periphe= ral, const struct sdw_devi =20 cs35l56->base.type =3D ((unsigned int)id->driver_data) & 0xff; =20 - cs35l56->base.regmap =3D devm_regmap_init(dev, &cs35l56_regmap_bus_sdw, - peripheral, regmap_config); + /* Low-level regmap to transfer read/writes over SoundWire bus */ + cs35l56->sdw_bus_regmap =3D devm_regmap_init_sdw(peripheral, &cs35l56_sdw= _bus_regmap); + if (IS_ERR(cs35l56->sdw_bus_regmap)) { + ret =3D PTR_ERR(cs35l56->sdw_bus_regmap); + return dev_err_probe(dev, ret, "Failed to allocate bus register map\n"); + } + + /* Wrapper regmap to simulate big-endian ordering */ + cs35l56->base.regmap =3D devm_regmap_init(dev, &cs35l56_regmap_swab_bus_s= dw, + peripheral, regmap_config); if (IS_ERR(cs35l56->base.regmap)) { ret =3D PTR_ERR(cs35l56->base.regmap); return dev_err_probe(dev, ret, "Failed to allocate register map\n"); diff --git a/sound/soc/codecs/cs35l56.h b/sound/soc/codecs/cs35l56.h index cd71b23b2a3a..d029fa3f8656 100644 --- a/sound/soc/codecs/cs35l56.h +++ b/sound/soc/codecs/cs35l56.h @@ -37,6 +37,7 @@ struct cs35l56_private { struct snd_soc_component *component; struct regulator_bulk_data supplies[CS35L56_NUM_BULK_SUPPLIES]; struct sdw_slave *sdw_peripheral; + struct regmap *sdw_bus_regmap; const char *fallback_fw_suffix; struct work_struct sdw_irq_work; bool sdw_irq_no_unmask; --=20 2.47.3