From nobody Sun May 24 20:33:19 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 3A1D63CB2CC; Thu, 21 May 2026 11:54:32 +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=1779364474; cv=fail; b=VIIbF2eslxG7dPPIYpR7uNR1R6En4zLyA4HzW/AomIjf0svYiiH0RIVuPER5rbQ5o1YDZM3s3U6grQaA1sE8Z/ffNwV9GooSJY3y1phPsUtWvPetTONjOVvrVrfpm98/DATu07XD1JrZxC4Bh39LEc1/ea4DWntKpnur5LAVy20= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779364474; c=relaxed/simple; bh=5ZaYj6sTPZJv3y0aqbYpfz/eTDOEHtnTVVDN5LYKtv8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bRqZ1HWO7NQyj7MQHrFbnERbDhxJjA0th6qJ5J6fMromwVcVeCUBQkPDaokhLPQAIRM8V4TXBso6uSNEUU7SeoKcpdwBsqLANNRGKS+4N0/3SFsWJj8ZPrnvvgbqDWBvQrir7DyE9iWQ8w0qoyxpoExu8B2AVrHcQ+Q5gqhzTZg= 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=Gk3oui86; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=tRL2xQ8u; 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="Gk3oui86"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="tRL2xQ8u" 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 64L50ZFT2685326; Thu, 21 May 2026 06:54:31 -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=y+7osS8mUSpbqmA7xfLwVkp/4No9zDiICGfXUDfENwI=; b= Gk3oui86XAwUr4wtNFQhJHf8ogls8wOUYliicDBXsBtQm5qtz/2vFCCR/FYKYVtA T59Hn9PxjepPS9uovCPF31scQTzXkB2NH/6tZHLAIZMyM8VQyNAg46ZzfRKGWtj/ YBgC3YDB8oX6AWTrQxNbUWYHUflj9n3MhFDa+hwVUEG33KN+fFZATIh8IevBRyRz neg15jN2WX3EU2bI6MDDoH+cJVW3WDLE7C9MlxjlCGDBLAMYjjdnGRJfDwS8SR2Y 9s9M37sN2yX6794HZQLxRc01jzYjrrwHL6Zf/uaOCp9Scl6hZAA6KKTYisBHKOpV Ic9nQW5mlXzB9hG5vYX7TQ== Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11022089.outbound.protection.outlook.com [52.101.48.89]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4e93xcjdkd-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 21 May 2026 06:54:30 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LiM6G7AqLWa0ZRzcnBJeKrcns2Xdve+zQp9Dsc9137H0GgnNTDsc3NAaulGOYg7AKV44v45yLOffkVNHJg8TlAjZ6UnTf6PNIjmQ1sRqLfqPTLbFWTIhSJY1hsvklfEo4NRmnnB9Bh2JgZRM/LmlfytJ/Udbv0LrxBI+Mc+58WBD6PADNr/pEF2A4u/nMw0YhnoOYKiAXq5F1jr6VOqYiHzM0CpqxNi6YXbZunmlr48vOuyVj/7ZP140TP9nACW6dOBWRqMa5i3+AeSD9xLPsLMt+QY/Z3ikSCBbFlqJmvZlqeQNv/OzBv8aeBVYNXHTAvcwPGQ+dSutu6CjmpUrxw== 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=y+7osS8mUSpbqmA7xfLwVkp/4No9zDiICGfXUDfENwI=; b=nVbUkAw23DXMJLVFhGWUcPSPheruw+BaOBh+2cSLdGgiUX26yXRQMBxFlH+pGzhgQ3Uwsy4JTzSsDJ8ClpfUwVG2UiOwx2ILP+22Y9UhjK2AjrzbJrAGoGB+ihypkqC26TS4DWf4scMCD0c5WPd83yq8c0vymRWjVp3oWCuJricrIzBK+FeY2/SBE+EBEPWQ0lvqCovdX5ONa/nqelOQ8ZoLIinYt0WDNpfTkMzcDQSKFQJ/BylXNP0Sq0GHB8ZgUIFqAuujFXtNZuhYiFL0Ta1C6hnDg0h0nzwYXBs/MCu4olBd7GV84J7WkzrRrg6286IhShJfa+Nd69tsJtCgkQ== 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=y+7osS8mUSpbqmA7xfLwVkp/4No9zDiICGfXUDfENwI=; b=tRL2xQ8uAV6uM/C/2z1259pUTRkEsz0jayE37f+TYbl+hfrvBTxtvK5HnMdoKK8LROIJGCe0l+0ALI8MYU0KiPqXKKidfwLyjEruQBzQ9DzRg2cLYLq5VvFrvnCJ3xVt3ytNXIPqE5KbX1sVIp+4+MogGg4ly3jtgnrV/7cjP3M= Received: from SJ0PR13CA0033.namprd13.prod.outlook.com (2603:10b6:a03:2c2::8) by PH3PPF7D22BCFD4.namprd19.prod.outlook.com (2603:10b6:518:1::c35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Thu, 21 May 2026 11:54:23 +0000 Received: from MWH0EPF000A672E.namprd04.prod.outlook.com (2603:10b6:a03:2c2:cafe::1) by SJ0PR13CA0033.outlook.office365.com (2603:10b6:a03:2c2::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.6 via Frontend Transport; Thu, 21 May 2026 11:54:23 +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 MWH0EPF000A672E.mail.protection.outlook.com (10.167.249.20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.7 via Frontend Transport; Thu, 21 May 2026 11:54:22 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 7F91C406544; Thu, 21 May 2026 11:54:20 +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 652C482025A; Thu, 21 May 2026 11:54:20 +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 v4 1/3] ASoC: cs35l56-shared-test: Subtract reg_base offset in dummy regmap Date: Thu, 21 May 2026 12:54:18 +0100 Message-ID: <20260521115420.978616-2-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260521115420.978616-1-rf@opensource.cirrus.com> References: <20260521115420.978616-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: MWH0EPF000A672E:EE_|PH3PPF7D22BCFD4:EE_ X-MS-Office365-Filtering-Correlation-Id: e06dbb24-46e3-4f0a-4b14-08deb72fb30b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|82310400026|61400799027|22082099003|18002099003|16102099003|11063799006|56012099003; X-Microsoft-Antispam-Message-Info: z23HNabOb1gGpCmD51Hlt8vAqcnFrhEywQXlYPyy/v3GggX52NiRhuGegraotYIbYnScgvVzcuw38sXY0PUTltGqtVmHYaNmTfdyhOIV/HaKHH/tkntVtL2EeRY7dNX4r3CrySlwf7wGcZvBet0Dw7mF5xRScU8fB318FAxUd8C6QNSx6mf6XvCqTyXZG0IPzt8l+8JpbMoGaTnloRr/Q6zjoMBf2240R3m6rPaUId/PRxJZFp/2/vJ2DudojBhN+dCPv8Og33hiWJKw1v5UBy1OnZ7YdzU8z4qhv8AUi56X4JfYAlbt+9xhHxawzSGNSOas9fAitimPxZsIxA0NE+yn+2TaSZQMGiYFURd+x+6mGhM6lPbS8dB45SoFo1ynSrf3A8vwQjkXaEZDCtg5GXYa2+U0Rkem9GXzfwwhDPi82FY90rvMFrLZeMGS2Qf1JVEW47DT7GDVErw2V68Cu8Eq/QOweEWy9e1KaBpcQTU80lvfaMTA3f/LqOApI1xazJCKaxL5ugx9cCCzSq+M67OkrmGcDn5gSVbXyZNNePCjheHvsQUm6aXn5h1sk8f+8NEWGU8BZW/u2t9Yz5u4LZW3I3e21Gsy9mbp/T/4Lsf2USqS1A3zmO/fTMxEhinxc2AJukWTVvUiJd+QjgwrK9FDu8HAPim25D1B9Pw5Y2rXOXKuNIuULVt+Q3PtlusUIAsJ4syacwrCJFQiBQ8MSRlchEqQPFxw+sHQiCwFl9U= 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)(22082099003)(18002099003)(16102099003)(11063799006)(56012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DtZasO+OVRsBwvxSUqbwwIpZQDvGyyJGRT/lJXSCFRnbTNPLJHiQD+eyV8E0HzFg0/HbC0WbygjgTTNno1nGoaHUL3sdUOJUgsu7/yninNL62/EJ6bATJYEaBQ+zlusELn7V53/URAclUH2KDYzdtG6EdW4RtJOgKPHho+C0OXVVe9s7+MeNWiApIjtbZ6AjwLffQbiH7I1iL2tQ2ypw0qySlE1+3TlBR+doWiLkkUZTYCvj0vNTJ9tsw4LTYXCcCDctFrioUjEvNYbXhWeGMBfq7aAh6AULgyVW/nFHE5pYFY5/14xDmKMR8D8Akrr6Tc0BKYbuP4aEuVRER+0YVGhuZQ4EXY1PwhWi8OOxyxJc1GjA8TlH9Rk5mbB941gPhVrHzl1vekuSHPvaO1KiF5NfIZfHs2EC7mCdegLvq6edi3EvZWf4bwBVVhh8o1CM X-Exchange-RoutingPolicyChecked: YWKiCDJl0HEvKX88Kv2O0lw8vJoRf7CenQrhCnRmq2euFCXVjtnyVmHvI0MTE38GKg2HMK2k4TeAV/tM0Q0p7yMVz1RIvXxEa0DaxGZkutVblJnpDncUIK7flvht34gRRpjzmrekqZqICjnznnoiXDdnBdakYZnkjhhL6zCoNRR8AgRS9EjsrbosTndNaMI8I+BVTuD/Dqfmc+fR/vYi10joIgSvsQT3MUSuHUdOgjQuIXpfxcR/nd74aJeBV/P1Mr95VkceXLt2yN3GkvEn9tya/5GNC8ZBcwEhQPi0JE+5tm0Dgm5tLa79FCvn4fSxiy1OmXQO6n2p/2Ai21PXmA== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2026 11:54:22.5126 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e06dbb24-46e3-4f0a-4b14-08deb72fb30b 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-MWH0EPF000A672E.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH3PPF7D22BCFD4 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIxMDExOSBTYWx0ZWRfX4ROVf0C4ZT6w XmSctzJ/aNSfSY0nhc7FJ7Sdtte/cRhL0j+adMZ+hNjgeUSKYFGp2RAxcqJEw0pik6xHtZ4LC4v b//Q2PwoHplT2EVEFKa+xtD96hgNak30wB45GDAinHBHIkBWs0vT8cu0Pik4q32VUbjS72V0EJK aCBzd/KR3U2rhQVM+39lLR0iKWwe6XV2pCzQvJcUMZIL8Qm6M7OmgVLQqa871pJjCdFWeC1zAPq KMw4eHGZxEjcrLVBG+4zWWZTTMg+fUR53xncU2ECl7GRgvLo/vlV5nEtpJG73RooH1XhG0o9oqn IEujXX1H2rsXjCqY1/v4MeMYh5RcBAMlDCn3t+JbYKfJ873HPM77s8O/E1pUHkQa5Wrim6Ta6aP YACqu2sgk53VNLtTlGyAhMkKrAW1/jJzYmvTRNlo/lShrpD1nNEUV1WE9dxhK8YV/kAiCVQIsai Xcor/NYgmDma/JwhdFw== X-Proofpoint-GUID: tIyRF0jVs19tkeFRh0AvXtzrVOygEQxz X-Authority-Analysis: v=2.4 cv=Wrgb99fv c=1 sm=1 tr=0 ts=6a0ef276 cx=c_pps a=88cenwDluC1K+zw7ozncdA==: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=pGLkceISAAAA:8 a=e6vTjNyiGiafX-68rtMA:9 X-Proofpoint-ORIG-GUID: tIyRF0jVs19tkeFRh0AvXtzrVOygEQxz 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 --- Changes in V4: - Move the dereference of regmap_config->reg_base inside the check that regmap_config is not NULL. (Reported by Dan Carpenter ) 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..4f52c8a192e5 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); @@ -673,6 +678,7 @@ static int cs35l56_shared_test_case_base_init(struct ku= nit *test, u8 type, u8 re priv->cs35l56_base->rev =3D rev; =20 if (regmap_config) { + priv->reg_offset =3D regmap_config->reg_base; ret =3D cs35l56_shared_test_case_regmap_init(test, regmap_config); if (ret) return ret; --=20 2.47.3 From nobody Sun May 24 20:33:19 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 5AB013C8194; Thu, 21 May 2026 11:54: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=1779364471; cv=fail; b=i0vcRL73pPL0E5s8XnZBdxeaJeQ9hL+xEgwO0UOSos8Fof+t5QLRYCj4WSz3MkAXSHansEv4s4eRbO0eY/efT6DGCQOPa6GA+ubIcdikf9tY3aNIr2Dr7Hvy4PcYVTy6WLoRvB1+LnS3d+JbBZTnUzH/l/cxElnI1CHe0Xe/49I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779364471; c=relaxed/simple; bh=Q43h4MkwlHCRfyWOco8Ax4vmRTZgzsS2Mcsr0tDi2nc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kv3c1MNy0BhQ9BCIHOOeoS4U8ht7w1sRmvr6agCqRMd5OtgWknxd07kH85jYemeRKTAFErBbo/HielcuDZHUImq0ri0XRAF65bABtuqhzXpzjLovNeytfFGIs7tbWs3XSOc1dr9iPhPmWjaPiL/BI1fHVJS85OxIPBKbr6qGPr0= 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=L/fHh0d3; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=Jgelgldt; 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="L/fHh0d3"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="Jgelgldt" 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 64L5BlO12850731; Thu, 21 May 2026 06:54:28 -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=9TDi0ksFes3iCNBpQ/MOyFKmo24NOJ6A9sL3J/2Sq1s=; b= L/fHh0d3zPPDBZJJDvXEo2U22/WW8Lyw7lcsXBstNKHr7NaMFbZdglLjulgorwfP Gb2Zrwz46vR9LZtFw6aVAwz0TAlCEtw0KUBpc+Zwaxz1q8wo30hayg5yv/h63c/2 /5wTlKiiE08ewfDE6IUABcKW2NMwXQlsRxtbRq+edUNVPAYUnUi1Wh0mGPMC2VL3 MD7zBDe2SO7PEJVwMZnqx4MnCa7lIe4118DT2LdOVoOy4MtOPlUWrt6d9b1q8Xa5 oG/Ilkes/fyBIdxhCcOh+Po5Q8P5KBE3l1EQuIn3BnOkDjRayQO7Y5kzSMbNgt30 6Iz8bKijRRyVl518/CZFww== Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azon11020135.outbound.protection.outlook.com [52.101.56.135]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4e93g1jaht-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 21 May 2026 06:54:27 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aMczYhb4W7lKaLBz6ZI4SBoz8pUVvlrf5CTTlo90ohBTXkv7hBkfcWXkhq6LpLx/1591rVn9TR9VW8GOKQiqRCQOSklu2oi/zqBK6og50yuZqeiQlcw2ZiPYNvAy0TtU290Y3d57z5koJLopcUKxA6FW/1Bt8Lwh5JUrkEZ3zhn/qaTPixgyLC0A2lROCD37GMpyEM7vEGs5nuxOt2siTVDQ/1pApA17h4DG9lRx8Id5JE3ElysRwf3YsXwwutbzLQrBYrxQ29g6eFeLtyiX2zI7kdeWUvo5mL3Vk/h+QeulIn4RTmwexXjdziwdEnswyPtaiR+y0Qii81Di9IErwg== 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=9TDi0ksFes3iCNBpQ/MOyFKmo24NOJ6A9sL3J/2Sq1s=; b=Cnst2m0n82hqZbVy6pxMxYTg8u/YuVtJJeDZMlHrc6lzE3fCP9NXPkByaBl2ixD94nlio9AQN9hGz5chv2w139coBLIGOE1opghJFMScriK8/cc32zfi5/eTrtcl3ZprSQHAGZCuZuRcRgnRhgoQdEGnfEAlchDXi8jRNAK8/YzVx1rlR2dOA40bCGdtAUtuHYhdH3AA4hCFl2tF0sU4ObWPuU2vANkZFXHkDCAglwOZXixvL4mTxY9Q74LL7BfqBmIRfxt1h4UahsYjxdOw7CAMpbMOLVToAeDBovuKTdO3zUQO/Ilza/61hdc3WoO+gYJpu0CiCN15kXgK+6ft1w== 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=9TDi0ksFes3iCNBpQ/MOyFKmo24NOJ6A9sL3J/2Sq1s=; b=JgelgldtMR9z++dvtziXA6GEWMdxlDc5vLDaKqbs0VAygtoIDr1EC3tA1bJudmOaR+eww5c9OK5fgQf2bzKircJKnKF85EhZ8mmpA4O9KgZy/7g3+PGAyglpHUdjjNS/Ciu4WBWxME6JKpmNpESC8OfhSBDTRQlRwti/mkKM3gs= Received: from SA1P222CA0085.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:35e::28) by SJ4PPF0573E29E2.namprd19.prod.outlook.com (2603:10b6:a0f:fc02::a06) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Thu, 21 May 2026 11:54:23 +0000 Received: from SN1PEPF00036F3C.namprd05.prod.outlook.com (2603:10b6:806:35e:cafe::18) by SA1P222CA0085.outlook.office365.com (2603:10b6:806:35e::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.48.17 via Frontend Transport; Thu, 21 May 2026 11:54:22 +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 SN1PEPF00036F3C.mail.protection.outlook.com (10.167.248.20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.7 via Frontend Transport; Thu, 21 May 2026 11:54:22 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 838E540654A; Thu, 21 May 2026 11:54:20 +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 720DA82026C; Thu, 21 May 2026 11:54:20 +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 v4 2/3] ASoC: cs35l56: Use reg_base to offset addresses on SoundWire Date: Thu, 21 May 2026 12:54:19 +0100 Message-ID: <20260521115420.978616-3-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260521115420.978616-1-rf@opensource.cirrus.com> References: <20260521115420.978616-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: SN1PEPF00036F3C:EE_|SJ4PPF0573E29E2:EE_ X-MS-Office365-Filtering-Correlation-Id: b3085683-72d8-4ebc-4acd-08deb72fb2bb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|82310400026|36860700016|376014|16102099003|56012099003|11063799006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 8wnj3NFjduts7qHZIiYR0DL95ALhANcgosUbCHMzddrc/AQ2/TlvG7ZAYNZ1QsP8JQR6tkyMMeAUZgIQEGQyvOJDR5o5mZIKx0cfWDDzmHq63XqduMaaq319i83uCmlt3y9fuRKGzhGnnBC3TgWAvobPuIeaprr1ynuE9CROj9vcF1H/hX/ZKgTxIT2/ub1qRmet5ObeWF/sBXvKN6InxVTqdDMUZFIUTQFmZKQjzBWK9gUrkH1oRwTIi8qyUOchF1RpEMXY2DQJVpuGofvTSoBaxVpKsTr/ZsPazod5cuHkTIozvdJVmsMcPqPCtUcSeR+rlV3ZYkzqUbt8ekv52XoTwUZlAPYyUqn7Myr6kOASHw7ujmHgRNq8SUhVEZH/f3SMwC/RKHK0BrYZn+S37GrFSGgO8/Q+fXbqt+rBkJ1sfnPDq8qVllWoB7oAeiKy+iHoEy77ZztmXbARMDV6OEiISIzE/6CD4FS35mFPGiyX1TDRFo/HOwN0KWGz4m5W7dnarWDu9ksmWGUcQbL5/Bj9OkOayxHWaCRjSgECi9Tt+WIDYtzotCEWrbCp6Yot6DDitKU72O+QxOXxcGgVaOp3q1rslkjenMuw+YyzsZPjW7Z1cBTewnlVrhBwnzDAUpRLzlQ4ShrbZMNvAjWCEfNn4oIA4A6uUV+K9+y5TydXWztnmcnP1YNte20njpnRk0YPcerKx6/gO9ol/SyPncmRMG5bEHHOSuyDAA51fuc= 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)(16102099003)(56012099003)(11063799006)(22082099003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 014O13Ryel+1mayY5+IREoBto2t7gA1kEo67lSaKoXDKwmxnHV90Gt1mNyGsm39fisMbu3rc0FOF5dfLgQef7bHRsE0jlGvhWhPjogS8F4/x+NLjHbEx9TK7CS+sc45/wMbI+XGukczXEFi/ziGB6db3STOpfdVH1dFeAQnku1t+orLhZf3uAaXLUYCw+EeyzVqYhG77C+I4l4O9pzuD+dy4s5k0cadxDdZKzOfNuaOyG8YSucOPuQpTXUJ8dOrrkKh598n5HxiDETOGIAAhl0J7hueXJcigjjw98R9Ttjcg3p6A6tTslIz8A7VC/4i4dpzQecOT7sy2vd5VaO2C+ceyeV9myIlIaNlTL7MUkPH9qatG1+Hafkb6K77Mzv+apQ7Nbs8io07m3jVNgPWROk9g0O+pt9KHBpKbaxyTf0AK19SC1YJ9x+0Zphchk1As X-Exchange-RoutingPolicyChecked: dL37Jf7OdJcZ8EpeZfuS70cNDjxWC/Vr7sUbt9rCrRHOFwpXbatTUYJOygOnNw3LABjc0d5voo05oqh8Kig3VKw6GogAT0BJSHApgD9RzSw8/xESIuq7OMv9KmgANJjTykZ+Mkl72Z/2hyqPolNVMo8MeZERYLmLQoCUMBIWSh8kjqxZwdFDcafyTSz5JTB2lG4BXlOOF7FzCEefIvXBwzeplLGLLNqi/rjbREma1qkgflisBGl2nwP1ENG+69XHUBjXYSxRdIsSSBUiVFukJDSiiZuw38SRDOU55fjo42GOG6B7S+y2BVngxnXpCdXr4gy99Mfm37vywujmgX/n4A== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2026 11:54:22.0410 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3085683-72d8-4ebc-4acd-08deb72fb2bb 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-SN1PEPF00036F3C.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ4PPF0573E29E2 X-Proofpoint-ORIG-GUID: 7LWnvyqNwdxYqTnSwAJpS0W64AbUSKCm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIxMDExOSBTYWx0ZWRfX7PSPrbTEDcYu +ZMDGXYWL+hfLZuhR9O6fPPcY38Pt+ADZMJ6SBqse4K6ujCZxyFFVyKZVVI4IgeE1QWtpbN5PmT kmGj42nQTUDjMKNB/DJcPAMQIVxml4o8uALI1WDBF9qmcXhICP6wDO2XFX+MrvMaFEECXFgzsME lB03pYCmdkrkUdJOsvmJ+tB1dZs25PdEMoFVv1+2yUIKxDchBM7iH5yIoWHsfYFU/NtOaKaH9BV mHrg8IYNHFo8EuyAVdICOxkaHj9lP9iphZoGAIfDHOPtq1+KYQioM3fBSwQQ+TslNALmUh5KGX3 HvMBLdGWdh1vM3z59Tywcn76NSGeZAqdixwKvcMDsz9ZDe3L19pUmDMooPWlM93v4nB4jcpU8Qr f6cRZQgpegTxxHF9sxgKfX9LR2OBlt/beB2luef/zzB+VVB4wbT59VyrseWp327bt6XYN3sK6+N wjplvVdio/IAuCAdgrg== X-Authority-Analysis: v=2.4 cv=Wrcb99fv c=1 sm=1 tr=0 ts=6a0ef273 cx=c_pps a=7RdxWpphQ0FXUQ9+5PcytA==: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: 7LWnvyqNwdxYqTnSwAJpS0W64AbUSKCm 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 V4 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 Sun May 24 20:33:19 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 452A73C8C56; Thu, 21 May 2026 11:54: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=1779364472; cv=fail; b=P4E5+ejF8afcUNTbuWD69AxEH2KQR/0u3GXGtOEZLgysbaniBsADSylr+q+XHT1536ttK+OvR5wpXKZkcFXQiA+8THn5Wc+B0Lqe0w+t97lQvoaYsKCPYiWTzyHabLjpJEQbgDzixk6IS3qAQqD0+7JCNLjqKpK1yupPNiBgFZ8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779364472; c=relaxed/simple; bh=Qloy6bM7py7wtk1RBdQab+gnIofk5+l9ZJwPeQz2D7Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UNewGHMU9j4Nxy85xdRNeSztphn0y1JK8dx5AGQn4juI+CwLTQ1ISLYKkc/w1JuWRUJ72nMJ9y/pkx2ZUmYXQo4yPIRwicbqCC7mkAku0VA5xqXQbwDJGCdpolhWeH/sRZvCPcPvM/2u6+OjfCbwtTt0peWCGtlaOy6usCvTr/Y= 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=XTNLvRoY; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=UGBqju26; 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="XTNLvRoY"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="UGBqju26" 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 64L5BlO22850731; Thu, 21 May 2026 06:54:28 -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=puG76E/M3P6gE6D6h52sannTCaa3jcuW03jbZImvu9s=; b= XTNLvRoYz784X1Cq2dCL3dZ4J46q6PMWQCyqaWzwMCwwGvBBQeyoK3/lyuZ49zGg DYRPTuad7OSgqA2Dyh9jGJ2NqQbInQGfmNFKyKvuRzyzn9SkUlYxC+80ileejVAO M5ppX/4S9VKTs0RPO4G9VEg28qrzE1UZ39c04hQcMmbBhOBcRPSP8rNxbl5kyv+5 jKcaOk0huNcOlClLebnpUtz5SrMFEMJIJ7ZX9EK+I2MsWc54xh3MfkQq5rabUqwg CfSg1lM4Wl5F4FYi/UQRLMTAuhrXOhwP133BAWsHr5/NZL0AOrXizPNbV/PU+5Af FmDROXbeEIASqtagGaV6dA== Received: from sn4pr2101cu001.outbound.protection.outlook.com (mail-southcentralusazon11022097.outbound.protection.outlook.com [40.93.195.97]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4e93g1jahu-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 21 May 2026 06:54:28 -0500 (CDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QKgxXjcJjBwZhMQEWxPN37Nvz6SEz7buX3fhwqYD1MCaLEUWIrOryAg2qZp9K/u/vDcbjK2xwaTaRb2wdpbgspNKQEZ46/WceFHzJ96oB79Dn9F2kswBBiQLHR0BKtWxIS6C2fY6FFa3yv3hgMkFR/cWQ5NSVDgo6+qGIe4qG6a4Q0OxWrAihSQEIw7C+t6ekvcNuYKHuM6AuF6GzwOldv+bRKrLawzs98aUFpfaYOUvmWv/3UC4+mIU/5r20wf7az/QVTyaaVfCtwRAhBSYVw5CPltWqbKPe3dU1rg0jhTi8lRvw9OaAGODGtlv3OP4ZodXzG4Ox+sYMCy5K6Oc4g== 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=puG76E/M3P6gE6D6h52sannTCaa3jcuW03jbZImvu9s=; b=kutwl4wGJ9ko2VlMk8lKwbzJHXhcmVZI3rrnUCU17OVGaBF5CU4kz8Zuu/5cr020iAvLjSyAUUL/Gs4/vYxPWlXXwXBSjJc7ra+a9LcfF8P/iiG+qxlIEUhbEa3Zv6DrdutVDdVqZjc3PIA9TMcEXgUWCFV5KIxRtYsvxKh6fFsdF5vqgWBsVXhTNYQ9EHbHO7lFFU/bZpxn006fM2+d3ePWbnhuIHGzU0LxK29AUKlmFWP/FJo6WcC9pSa4nqoJF8eIVVFyEiMHimrBEkN4YVO+Lbc++RZ1RCl879/dPu+nOiW2ro66VHCotQIDHbHMiMHgIoe5zv00NSbW/rTUlA== 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=puG76E/M3P6gE6D6h52sannTCaa3jcuW03jbZImvu9s=; b=UGBqju26NIWfSxx6GqKPOMqdTGTt6ErW035bubLWl4K/ogKOcdp86+gkcH00fbjntAL2Lgj9WFnv0tUKk+V8T3IW86Ly/b162YleFQegZ54xXQrcWo3KGW95cGzX2ql91uBL20Zrqhtkd7wz7jMkaTADYvthLjz5RgQ7pBP4x3M= Received: from SA9PR13CA0036.namprd13.prod.outlook.com (2603:10b6:806:22::11) by CY8PR19MB7666.namprd19.prod.outlook.com (2603:10b6:930:76::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.14; Thu, 21 May 2026 11:54:22 +0000 Received: from SN1PEPF00036F43.namprd05.prod.outlook.com (2603:10b6:806:22:cafe::66) by SA9PR13CA0036.outlook.office365.com (2603:10b6:806:22::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.6 via Frontend Transport; Thu, 21 May 2026 11:54:22 +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 SN1PEPF00036F43.mail.protection.outlook.com (10.167.248.27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.71.7 via Frontend Transport; Thu, 21 May 2026 11:54:21 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 85341406550; Thu, 21 May 2026 11:54:20 +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 74ECF820244; Thu, 21 May 2026 11:54:20 +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 v4 3/3] ASoC: cs35l56: Use standard SoundWire regmap implementation Date: Thu, 21 May 2026 12:54:20 +0100 Message-ID: <20260521115420.978616-4-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260521115420.978616-1-rf@opensource.cirrus.com> References: <20260521115420.978616-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: SN1PEPF00036F43:EE_|CY8PR19MB7666:EE_ X-MS-Office365-Filtering-Correlation-Id: 36cc33de-fb5c-4c75-9748-08deb72fb280 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|61400799027|36860700016|376014|82310400026|22082099003|18002099003|16102099003|56012099003|11063799006|3023799007|6133799003; X-Microsoft-Antispam-Message-Info: 8CY21TSjLvU7014JL3bQPMhjxQIBLejW1ofjlcRS8M19Oo94wNCPN+JkmHwHiEyFa8GzSUCRLCWWZS1Z6IMGymne0/xCp1EnYE5nNoEtlSpZmaOhGrQihXiBD2wDYp+VtcDuJyWDLbNuZXdrSEKnHBHTq3gyUDpy30KifpD6YerXTpH1qCFrGiflxzAQ7vlHzvw10o36TJag4/u9MXa2CtoPvJ1r5+kOm3s3Eg58B2NzZt1M99/As3+QZirLmXTR2NA+OVhyGuWAKy+HCl6X9fLxzh3MlhS+5P2OACtKZRpSn/VW05Vw7TARE8jhDMdpgIpDFu4JUTNabFChN6CunM03b8X6DOCZtlTaBAlzvSCjf7FrdXEEYv2spFAlzvOglBJWWdjX6GNCOXSbjp5j+8tD8WRHEPlSFplrxCpIgmPMip35rTHEG3h/2FSAMTySj97IgjNgdneJAzKReGUtsie70W8CzkkAcer5dS0OGO2YBPvcQQapw0WSGwZ1/PhIqzdO11PyqvPQZttM5LYL+63csw/jMG0DcEpmXnR1+N1UKs2rSBLadWiouASJRFSi+h2JCtKD9KjxtOy92O8QK9Su6q88YqKb+UBXAaeWUD69WSJpPtIZFM7o1RMOke5Aa35cc/9JAIN60R+O2UpDNVjFsxSVsDu1WVNde0m23ayN9C+9Rc/Co21Avb/OsJ6q61req4Y1WXd0Wk3VyVG+s7PIEXaBsFv399ULr3vj/aw= 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)(18002099003)(16102099003)(56012099003)(11063799006)(3023799007)(6133799003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Wp9tEDIga+3iWBL3DG9Z8vdJ43b3sWI44rwHC7OUE4uhFYEFE2ImbPGVvUbLXpJ8p2FZvll4tHdJFLv9SGtFFj/8w7L7S82Y6zXR1enAUA9XhiLGOGfUa74RfowJD9EWuCqbITkknqlZNC504/PyRHOg3VY5+ddnBzBZjG8tvcMselQlb6bhRXUzYvNlfEzskefp8Q2yahdCBIMGduXXbD6eal3J2lhBmgUj+i7c0OYpeb4FzlELZs72fjbtiReSrGwDG3FH9XyMhFjD4NwrcQcDu4CXfH6tUDQ7+cakMwTPuwN7Lq/vzyWcSykHSg9QZTfL8o3ytxDz6W73D6npGKl2cXYfSIMixHLNWQukJmOSCQUUbGaEWUg2+YhAj8dENyPpUHmqmU4ZriH0xQsZt+ZivD5Lj9GRVMho23+zppZfijWXEzTucvqC9qEMzuDi X-Exchange-RoutingPolicyChecked: pPf5Ve/uJKjnNQZ2sAME1UgkJG4uoSSV00ETQ6fJfwDJcVKpbE5RnQga3pTaWirJ/neZdzVZtVUHVx4LVaYms1cCG6H0sGdaqnLXNGqXxoCq80KNbhGQ4JOmgjRlWDK4FiT2kIpp1TiTYFwRP0mb2A9pDg6FmZ53v488X034IR/ZwarSfvlnsVzAnvSlMmla0MRg4DkUE7VJ9vAHdHPksm/PqW/W7xwaF/00J+SPOzRaY8e8vKAQIMUzZPj3st6X0JdDgSKF5mNGwXChM2lJB2nY/F1mlnrLUnzgEfzPGJHMUqsHcz3alhQmC4cHznWbtK72r9aD3nvZC/En5jpT/g== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2026 11:54:21.6595 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 36cc33de-fb5c-4c75-9748-08deb72fb280 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-SN1PEPF00036F43.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR19MB7666 X-Proofpoint-ORIG-GUID: moCS0U-v9fV8J8BSMtFra3GVNB2FdAGV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIxMDExOSBTYWx0ZWRfX9iJPRTpXTC5J ttwzh+eSr15l71XokLaNjZsiNWf9Bg9BunpI/ZTPNHWR6pnqUU+un9k6Yqq64weKGNWZYtRA1OK E3B4nsjsSEq8BNYRwdKNhgQhskzOjBQYxsb8mlPDr4KT1PhswSZqq1G8gGEp0aR7qA/PyOmG0/r mjnNOIZvXcheBRIaChySESo+P3BO5hlR9n4gJ4pgH24PWnGhF2+lINt0FahtWWcWkJYYNWkiO21 KuRKOmAT2dsbl7iVaALMo5WklxJr4BNf7d2wyKpafxFfA/6EF1cqdwLLULmSaH4q2kq/+zqvSre D4KAxc60G4ylcLGGXWLPB/JWHyFpiwwt8/wJWg1r8rJJp/K42SmqEeHGyipR1bt0hQPaea7dO2U 4qFJ7BAKpKs4AZMUge9TjjcjUapODVAmtksJPwIh4WgK/CZfz3znJ3KkZuQBeGQTGP6H1RcfGk4 uqeaUOO9mAN6uHc1OpQ== X-Authority-Analysis: v=2.4 cv=Wrcb99fv c=1 sm=1 tr=0 ts=6a0ef274 cx=c_pps a=YnstAiVElcvMFu1aLrgWsw==: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: moCS0U-v9fV8J8BSMtFra3GVNB2FdAGV 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 V4 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