From nobody Fri Apr 10 00:55: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 4423F366DC5; Wed, 4 Mar 2026 16:24:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.149.25 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772641472; cv=fail; b=HB6VFqVxwGDJR2Q0E9vqOX017Fp7FzbxJYsz1ChzbtKhW2YJPQvuEvv8oZb5PFstZ7D8wfWnbJZrmZkNb3Bg0wWzNpnSFOxMpZiJARsc2GoHkPEDUv9qAXhgYCO1GZ7HZQ++ZieiObd6wpxIGjfii+MG1qzNU5tRPN3UmwdqOCI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772641472; c=relaxed/simple; bh=T85rMFDEw6ywSVLcTveVzRasSaNBB8DlwiMHBy3DKLw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Tcebp988Foc1PPUFfgEqlUiZfyOa+dFS1UKhVvgIoAiMBnpvGfdxXZJcdjPVXJRa04Lt252ctx/r/mhHt9+cm0KhoxUYTqOVLA5xqc4sK4DErKD39XZRufPilXp5QrY2Lshbc1AR02DNXp7GkVtAtCvETwGxl1uDae8e+fGlHcw= 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=KNMqqpR0; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=K2aTSBWf; 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="KNMqqpR0"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="K2aTSBWf" 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 6243vN4C1677153; Wed, 4 Mar 2026 10:24:11 -0600 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=T0xHQ3djXeDr1H1/RCg7qZSveVnh4K4Kbbjpk/nTpwE=; b= KNMqqpR0JYRbHxUCEWiZtnTFHSqxrjCbXvnkIDfx0dCso0rRi8FbSuTJmstMF+cW tdk/wKGx4bIPwe7tPhnPgt932yPPsg7M6QbqaF8bI1nY/oEQYe4Dfld7hqeSy1kK a7IUyKTF7UIiY68FEL0gkUWvFTdPIRoZC2ZTyZXVNUOX6XG/bwhcAYCYfy8WtIVg wK6O3C7OivUphA+YtQyplD/2whDyeNnfBe4RWKWgbUGurLXIWkdXLVwIHCB9J1Vj HnoSzfhD855cPIVClryz2FfHv/oaOlPw1+DPfe3COq5wHdrvwzRTt16Xbk5CG33S t5NxXIpe2MbNhYrrqHKmfw== Received: from ph7pr06cu001.outbound.protection.outlook.com (mail-westus3azon11020082.outbound.protection.outlook.com [52.101.201.82]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 4ckxn050am-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 04 Mar 2026 10:24:11 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zK+JiAFUJr5lEtam6PYMrafSmBWtIR63dZp9DqIiCahFqsSQlzN9VaFOwq/1Ol95wORfENE8ISFSxu9jd+9arkmac/+bthq/hRQgbsvnL/YTrOp/1e0NP6DJhFb4KVQ7oDt2cTYwfHHI/lVrwKVYfF68eRtn3Gci8nipx+5/UI6nwcDlmSmqtN5kdYqyJYjwfIlngeMhNVd0/8BqQD2HCOUnGYVePam9SlnzAfwrCarT7WxIsmV/Gk31yqWFm3eaDaC95L3CuhMHyTvjtR4wzY0RGPH2Vem85QMtdKi5JHJfnt0b0NLqVIR3LlYQSlRsZOWiPUJQC7rcVjFNKyF6nw== 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=T0xHQ3djXeDr1H1/RCg7qZSveVnh4K4Kbbjpk/nTpwE=; b=AMoUKwZbzCvBTjREELJRdoghilzh3Evw9sUIqQfLZeaAsQ5HjTSmS8yy4F5If4yl2EX1N5EGl9iHkZL19fDkpTBTuvRYwMB4vuyPUoQuy2iZNfB3MSO6Osr20HIIuRtVL79y5AMHrZjHveVCYUQBaqtAaxu7z11yJ28VAvp2827UkRuqrCBO4xtL3DTtzHKL4t8GFfEcd1HByeJ/xbMcdYRYbgZMFOR472HYu6Ezpn9xvcX2wxAjXfnqXxVJxKPMcJChmTWneLj0rDQ3CWa94/UbJeQMD+FJDvgHhGk08QqZSQPA8Arpn0f2flf3ncRq4L/I8WTpxXDg5u4tx3rQIQ== 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=T0xHQ3djXeDr1H1/RCg7qZSveVnh4K4Kbbjpk/nTpwE=; b=K2aTSBWfmTR5+UWecQTKODbHMRNFN6K44iavVqNuJ4vGQQ2/PUF2ZzLIDVmUmOw324FsdnESiZ2i8tQdCzy4UoLNUpBChZyZCXILV1Jef3sgv2XU/IRAOI5hNWMEbFbsn0l1o4B/lODrY3dqp17p3MDuqxC3GH+HTyzxdQKFsLs= Received: from BYAPR06CA0021.namprd06.prod.outlook.com (2603:10b6:a03:d4::34) by SN4PR19MB5469.namprd19.prod.outlook.com (2603:10b6:806:20c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.17; Wed, 4 Mar 2026 16:24:06 +0000 Received: from SJ1PEPF00002322.namprd03.prod.outlook.com (2603:10b6:a03:d4:cafe::3c) by BYAPR06CA0021.outlook.office365.com (2603:10b6:a03:d4::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.22 via Frontend Transport; Wed, 4 Mar 2026 16:24:02 +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 SJ1PEPF00002322.mail.protection.outlook.com (10.167.242.84) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.16 via Frontend Transport; Wed, 4 Mar 2026 16:24:04 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 11A6E40654F; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.24]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id E0560820257; Wed, 4 Mar 2026 16:24:02 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org, brendan.higgins@linux.dev, davidgow@google.com, raemoar63@gmail.com Cc: linux-sound@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 1/4] ASoC: cs35l56: KUnit tests for setting dsp.system_name Date: Wed, 4 Mar 2026 16:23:59 +0000 Message-ID: <20260304162402.1714759-2-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304162402.1714759-1-rf@opensource.cirrus.com> References: <20260304162402.1714759-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: SJ1PEPF00002322:EE_|SN4PR19MB5469:EE_ X-MS-Office365-Filtering-Correlation-Id: 0ca9eeb4-4e4a-4119-0792-08de7a0a7403 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|61400799027|376014|54012099003; X-Microsoft-Antispam-Message-Info: FfndES+wNrFRVVBASvzgWqwAAWQdDYYWC4KimMQBygAjrslm5FmBOd/E8f8Q0g2atrXoNZ0lTpjNkJkGttIYbHaXWFzKPDMh95FtC05XnlhThmuPX1NaN2UqcNN6+04kRb5GYtaPalDpwZ+PbCQcXYGtuB3T3DDTZIUrGTGviszp9YMdvNuMtIOiqHNdC0V16ymayKS4jDnwO35kc5vGObt+fKFfH8bMoML3yPhcC7bwjbx25n6ENKVM/M9Whz8kIpzjU74xeyIXtQcboedgmDar9GxsCSvBxB8lFjifMtisk9WuDeqCcUlbNO8OiI9m2I12JFXrwqik8zqzDWn+cKx+gFFl3nhtly64poDOkfqbosPMIhLCD/EJL4wu2A8e0gVAhOL7mJu8vTQYMV327gAB8coAmn4HRTRyOLIne0LdaBp32UiiWKyynsJ1k9CWu3LRSar1WPKZtA6AOo6VHBxqn1waedD8bgql/sVNPFA7M20wkQoYKEHSAtO0csGS83kq/NUUtMXzojNCNIl0dWsriIUn4y3tcoObOydGxPr7J4CXuIgm2vIB4R1nPEQvpvMPzri5hRz/8NctNjoZ64opIjXwJuDD1MEkCmhMywMsc/SryBEAzvfvidZItUrprsvJ6yqL1Su3180Opm14rzVfuiQoDdyeZbAaRhPGT2VVUfTVrh62WxeYZ86fpGb9TTJuZM1rAcBVsgOuuw+7sF+D6dxpyyLGnfL1wru170LPQmFtv6Z/XmpeT4TbziiOSXkO+M8Qkc5vwDydhX/OAw== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(61400799027)(376014)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Iywzr6NUKEOGsDiK/YVlamEBte65cmBUnnkDzNdl8uQJHt8cSZro9iJAkt+wgqspJ+NLNVqzKfC2WKSQ2nORiKvbhHFkxFsUFrPOWFu/Q0HzgIwBEqCekAswrKE4/aRxB4WJ2rlH3NgoEwcX/2v0GHRleQV9SX9C3DTzk6EwA3g0FeZji3WbypXMnyPgolFX9v5mv8UhdUCT8GiCdh74y6SpIz8oltUhdOH/lKNYJ+UzvjRJroX/WwraD9VLv4Kj/a9EcfXZTqSqC9gACfhUY/APFcL/ByCYmhBxMlJyrGuifHoYLLmDkC+5JXAvDPlicKtE2WWE9IpmRxbEwj+IM2udagwcM9QPtoUvnkEULBDM4zrvX6KmT7frEMlqT6DDchYEvu/0v9qE6agzK8B9L7lbzkjrtS0gAYxjVeSHp/Ys7dRv5onVcj1W72BLPJaJ X-Exchange-RoutingPolicyChecked: eFQ4hF+mb04bDQD8t9RlBA0/AAX/XTFMvOPs6coRQ6kGmiD0VjjOga5hzCAbSUsq096GuCjDK6xGv7SzQIJC+pFBC6I/oC5LGu/WPG9FuIWuFBkxNK26mydq/p9tw57TVQogPxNIH/sVZ9xF/X1ZkWaMaRGtxv+7y24P39ebr41dnP9V4S3Wl207V7XSRRmGQUVT8nQf6RF7UgWJChB/B6W1qxEhz5a5njzwu7KZw6GY+6fGY6OlGmkwqWuDnAZSWTvlHoCFJNfUNXg1W8/TVQ9sUOehJdxirJ3qE1dgO8ZmBDzUBoiO5ptfl5eu4m9kRtxoheXm/VWdSHyP22YKGA== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2026 16:24:04.4486 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0ca9eeb4-4e4a-4119-0792-08de7a0a7403 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-SJ1PEPF00002322.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR19MB5469 X-Proofpoint-GUID: g3k27OVwptk9tiZ_GK2oNcscFx2YUH3T X-Authority-Analysis: v=2.4 cv=VtQuwu2n c=1 sm=1 tr=0 ts=69a85cab cx=c_pps a=UUrofF6GnltCzEOzQKub5w==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Yq5XynenixoA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=Dj2-6B8FqX4mGL0U3gbX:22 a=w1d2syhTAAAA:8 a=QcELtSb__itFNwugZkUA:9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEzMyBTYWx0ZWRfX2WgsqcvXId6N SeidLP1DXBNMdSLQaBlZBjqlJCRmAYC37pDF1lDCBq0txOcpBvn9V7h15BF+nSX9gyMOL3anUOL yt/im+BmlljjeNOAFs0Fkn2Hof1mWzDzihbxG9nNTRcKJohVIfxnDm0X2raYWtghmL7qYJMSyWW /Ysl9pz2UJqpsSovL2t+vg0u+jtbtoIqaFr9ujkH8xHXwMUu1A3wliZVCplhvuvLfsjW56TUWyw ieAfwulRGcUC3Z5/cijQvXzKetYrzjUtZ0nFJ9BwTVnA7pxVm/5rIkvbRRCQE/vcU2VGSvkrycO /moCbfP1EVuEdUHQLUpFHydx7E8dDh2fSvQZzATRMxZ/Kz4iTIxhk74ZOufpG/gpzAcuq2fR7Dw Qm8/aQUFqqLJMuLeODBZXSIAS2s4IBKw1blUDR/STyx8kAMKEvqnt/TcCOLuLprOKqm7WJFfDQf gX7UWFIEK0FsLnC4wUg== X-Proofpoint-ORIG-GUID: g3k27OVwptk9tiZ_GK2oNcscFx2YUH3T X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add KUnit tests for setting the dsp.system_name string. There are two sources of the string: 1. PCI SSID from struct snd_soc_card. 2. "cirrus,firmware-uid" property. Either of these can then be qualified by a speaker ID integer. Signed-off-by: Richard Fitzgerald --- sound/soc/codecs/cs35l56-test.c | 80 +++++++++++++++++++++++++++++++++ sound/soc/codecs/cs35l56.c | 3 +- sound/soc/codecs/cs35l56.h | 1 + 3 files changed, 83 insertions(+), 1 deletion(-) diff --git a/sound/soc/codecs/cs35l56-test.c b/sound/soc/codecs/cs35l56-tes= t.c index decedf76847d..ac3f34bf8adc 100644 --- a/sound/soc/codecs/cs35l56-test.c +++ b/sound/soc/codecs/cs35l56-test.c @@ -74,6 +74,78 @@ static const char *cs35l56_test_devm_get_vendor_specific= _variant_id_none(struct return ERR_PTR(-ENOENT); } =20 +static void cs35l56_test_system_name_from_ssid(struct kunit *test) +{ + struct cs35l56_test_priv *priv =3D test->priv; + struct cs35l56_private *cs35l56 =3D priv->cs35l56_priv; + + cs35l56->speaker_id =3D -1; + snd_soc_card_set_pci_ssid(cs35l56->component->card, 0x12b4, 0xa7c8); + + KUNIT_EXPECT_EQ(test, cs35l56_get_firmware_uid(cs35l56), 0); + KUNIT_EXPECT_EQ(test, cs35l56_set_fw_name(cs35l56->component), 0); + KUNIT_EXPECT_STREQ(test, cs35l56->dsp.system_name, "12b4a7c8"); +} + +static void cs35l56_test_system_name_from_ssid_and_spkid(struct kunit *tes= t) +{ + struct cs35l56_test_priv *priv =3D test->priv; + struct cs35l56_private *cs35l56 =3D priv->cs35l56_priv; + + cs35l56->speaker_id =3D 1; + snd_soc_card_set_pci_ssid(cs35l56->component->card, 0x12b4, 0xa7c8); + + KUNIT_EXPECT_EQ(test, cs35l56_get_firmware_uid(cs35l56), 0); + KUNIT_EXPECT_EQ(test, cs35l56_set_fw_name(cs35l56->component), 0); + KUNIT_EXPECT_STREQ(test, cs35l56->dsp.system_name, "12b4a7c8-spkid1"); +} + +static void cs35l56_test_system_name_from_property(struct kunit *test) +{ + struct cs35l56_test_priv *priv =3D test->priv; + struct cs35l56_private *cs35l56 =3D priv->cs35l56_priv; + const struct property_entry dev_props[] =3D { + PROPERTY_ENTRY_STRING("cirrus,firmware-uid", "acme"), + { } + }; + const struct software_node dev_node =3D SOFTWARE_NODE("SPK1", dev_props, = NULL); + + cs35l56->speaker_id =3D -1; + + KUNIT_ASSERT_EQ(test, device_add_software_node(cs35l56->base.dev, &dev_no= de), 0); + KUNIT_ASSERT_EQ(test, 0, + kunit_add_action_or_reset(test, + device_remove_software_node_wrapper, + cs35l56->base.dev)); + + KUNIT_EXPECT_EQ(test, cs35l56_get_firmware_uid(cs35l56), 0); + KUNIT_EXPECT_EQ(test, cs35l56_set_fw_name(cs35l56->component), 0); + KUNIT_EXPECT_STREQ(test, cs35l56->dsp.system_name, "acme"); +} + +static void cs35l56_test_system_name_from_property_and_spkid(struct kunit = *test) +{ + struct cs35l56_test_priv *priv =3D test->priv; + struct cs35l56_private *cs35l56 =3D priv->cs35l56_priv; + const struct property_entry dev_props[] =3D { + PROPERTY_ENTRY_STRING("cirrus,firmware-uid", "acme"), + { } + }; + const struct software_node dev_node =3D SOFTWARE_NODE("SPK1", dev_props, = NULL); + + cs35l56->speaker_id =3D 1; + + KUNIT_ASSERT_EQ(test, device_add_software_node(cs35l56->base.dev, &dev_no= de), 0); + KUNIT_ASSERT_EQ(test, 0, + kunit_add_action_or_reset(test, + device_remove_software_node_wrapper, + cs35l56->base.dev)); + + KUNIT_EXPECT_EQ(test, cs35l56_get_firmware_uid(cs35l56), 0); + KUNIT_EXPECT_EQ(test, cs35l56_set_fw_name(cs35l56->component), 0); + KUNIT_EXPECT_STREQ(test, cs35l56->dsp.system_name, "acme-spkid1"); +} + static void cs35l56_test_l56_b0_suffix_sdw(struct kunit *test) { struct cs35l56_test_priv *priv =3D test->priv; @@ -596,6 +668,10 @@ KUNIT_ARRAY_PARAM(cs35l56_test_type_rev_all, cs35l56_t= est_type_rev_all_param_cas cs35l56_test_type_rev_param_desc); =20 static struct kunit_case cs35l56_test_cases_soundwire[] =3D { + KUNIT_CASE(cs35l56_test_system_name_from_ssid), + KUNIT_CASE(cs35l56_test_system_name_from_ssid_and_spkid), + KUNIT_CASE(cs35l56_test_system_name_from_property), + KUNIT_CASE(cs35l56_test_system_name_from_property_and_spkid), KUNIT_CASE(cs35l56_test_l56_b0_suffix_sdw), KUNIT_CASE_PARAM(cs35l56_test_suffix_sdw, cs35l56_test_type_rev_ex_b0_gen= _params), KUNIT_CASE_PARAM(cs35l56_test_ssidexv2_suffix_sdw, @@ -613,6 +689,10 @@ static struct kunit_case cs35l56_test_cases_soundwire[= ] =3D { }; =20 static struct kunit_case cs35l56_test_cases_not_soundwire[] =3D { + KUNIT_CASE(cs35l56_test_system_name_from_ssid), + KUNIT_CASE(cs35l56_test_system_name_from_ssid_and_spkid), + KUNIT_CASE(cs35l56_test_system_name_from_property), + KUNIT_CASE(cs35l56_test_system_name_from_property_and_spkid), KUNIT_CASE_PARAM(cs35l56_test_suffix_i2cspi, cs35l56_test_type_rev_all_ge= n_params), KUNIT_CASE_PARAM(cs35l56_test_ssidexv2_suffix_i2cspi, cs35l56_test_type_rev_all_gen_params), diff --git a/sound/soc/codecs/cs35l56.c b/sound/soc/codecs/cs35l56.c index 37909a319f88..9d35797e000a 100644 --- a/sound/soc/codecs/cs35l56.c +++ b/sound/soc/codecs/cs35l56.c @@ -1669,7 +1669,7 @@ VISIBLE_IF_KUNIT int cs35l56_process_xu_properties(st= ruct cs35l56_private *cs35l } EXPORT_SYMBOL_IF_KUNIT(cs35l56_process_xu_properties); =20 -static int cs35l56_get_firmware_uid(struct cs35l56_private *cs35l56) +VISIBLE_IF_KUNIT int cs35l56_get_firmware_uid(struct cs35l56_private *cs35= l56) { struct device *dev =3D cs35l56->base.dev; const char *prop; @@ -1694,6 +1694,7 @@ static int cs35l56_get_firmware_uid(struct cs35l56_pr= ivate *cs35l56) =20 return 0; } +EXPORT_SYMBOL_IF_KUNIT(cs35l56_get_firmware_uid); =20 /* * Some SoundWire laptops have a spk-id-gpios property but it points to diff --git a/sound/soc/codecs/cs35l56.h b/sound/soc/codecs/cs35l56.h index 691f857d0bd8..747529be3e2e 100644 --- a/sound/soc/codecs/cs35l56.h +++ b/sound/soc/codecs/cs35l56.h @@ -78,6 +78,7 @@ void cs35l56_remove(struct cs35l56_private *cs35l56); int cs35l56_set_fw_suffix(struct cs35l56_private *cs35l56); int cs35l56_set_fw_name(struct snd_soc_component *component); int cs35l56_process_xu_properties(struct cs35l56_private *cs35l56); +int cs35l56_get_firmware_uid(struct cs35l56_private *cs35l56); #endif =20 #endif /* ifndef CS35L56_H */ --=20 2.47.3 From nobody Fri Apr 10 00:55: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 158C33644C8; Wed, 4 Mar 2026 16:24:21 +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=1772641463; cv=fail; b=XM/vCwJmi60byLdOxNE7HWgDdYUavNSViUfpavyLtDRes6cAaek/cn+acmrPGfQdATi0tgSzCeoDgeGrYx2g/Opeet4XloIfBa3iG58LyYDOAr9kbrXPMI5c+2AgIguUHwqh+f/LZvP14GPpr+/xdlGD840SqeI55FNQur3aVjs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772641463; c=relaxed/simple; bh=07+nRWjkZVXabPkWdT0dm7S0daLud5UTsw1d8e9f+vc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=hJAQmNCpTKJa8QUe8IsEwDygJgo6Qw1LtMhp/Xv1N6LsLX1B2NliOKlFEMHXlz+NBCOr9E/80hIIVztj8WgJefPf6VRkk+J3LN1quJOnaSLEz3pyS1XMx1owTrlgUkUWMnJflSo0D+Wv8h4G+fvVq3JfMeJwrlk5X5SfdT7TWJU= 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=R3T3N1/L; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=i/84lEsE; 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="R3T3N1/L"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="i/84lEsE" 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 6245HEKj2857071; Wed, 4 Mar 2026 10:24:09 -0600 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=I6ZSgXgMlFE3q5KmKAiRiaxFeLNt4MAO11khx8ePfHc=; b= R3T3N1/LMolagQ5QP3vRttR3F8V31rGWxnBjUACoMNfhg93omUIGabU7Zz3va4ia jh/Wm+AAeeKDgK0wgjfhU51YIJUB3F7j+uOXEf5jvbRkLyjOmlwVWRZd+blY5G4t D37fWZ1jle13dsmS6X2KBDpNGxi+pUZ78R8SFRyrO2OL3G5QdAtL+5Y4D7JwPo3E N6rSLP6y1YSk+FqsB0x+TpjJXpZ3AZKadn1UJNAPRWuba/6ZIpsjKcYk/zWlUSAC sCI7Iin6gz3badWILfgZ/4LOnFHqaW7Uzk/+mVaTDGLOmekXk9T2QO07tS3kEFjF GTNZguXyCgwCm2pedLcxFg== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11021141.outbound.protection.outlook.com [52.101.52.141]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4ckwnn51m1-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 04 Mar 2026 10:24:08 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QMAc9PmQdMTmh2/y+ms0rGe9aJT3RbF9+Wl67VAHt6eWpeUbBvbARjIEroNC1OfmVsJX9SRtzU/dP6d2z0j9vI4mFNeruoBP8QDg/uv9bRwTs+NurpOuwX5K7cZ0khD7LjyAedLPqE5IBznwOlZwhk11D5ZbGBv3lNM3dElxCUYxAVFBjlJrn1k9ypUi0vql8ra6bPNeTwJpMSeWv0VFOm5Av+8EGdghGBzySOcPHcSuRGqhlLMmGGNUyL+VRDGqMbHCHpwOEeJIX10eWLdVc7yQBr5/ScHXleZeZasrVaROutxyN/UpBDTe/Y4c2TBEcb+GFzPNmNgBNfLloYsUkw== 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=I6ZSgXgMlFE3q5KmKAiRiaxFeLNt4MAO11khx8ePfHc=; b=HjayBkseRaWQAwp7IkZphIZgqOKyr/jQA8/2rJuep/NS7LP+yzcK/mP3EpvsGEt2ZsRPTpf0DF5KaoTQFMJwFAHLse2faNzvYkNNfwhRwobtDyPh1k8DQjF8/vSBdzemBSCXpL2Akx5u5OzMAtZC867S9IyFXVTaHByfjwvc7jQSGobt2zZSn9s7z6+jBmkRMcolQP2ADzxfFNUWvfXjY8QGImFCuBRHujpFSvsIqyb3KT/hie8mWo/Zka8RjLsjCttaOBss3pxj3wUigtbdDPp2kPRd5393R8cw3FqK1hueVt3rDaJZCLsYhRPuKippu2BBj/RyFTxP7C3TreSF9Q== 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=I6ZSgXgMlFE3q5KmKAiRiaxFeLNt4MAO11khx8ePfHc=; b=i/84lEsE98c/aLskl9HLJb5f5kjuwTLiVCiBNGbPX19lE7ezO2rjfWCKs02v9WYtiWBJjoMME6JTUVKCLDdl0PvZyDy0oJOJwQTR4or6BD6ES10w4nTaLhLUXpldO/yHTf6liOnZagbCer082E+HN+dHh6TGTu/9mIjP7xRuxzc= Received: from CH0PR03CA0102.namprd03.prod.outlook.com (2603:10b6:610:cd::17) by PH0PR19MB5195.namprd19.prod.outlook.com (2603:10b6:510:94::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.18; Wed, 4 Mar 2026 16:24:04 +0000 Received: from CH3PEPF00000010.namprd04.prod.outlook.com (2603:10b6:610:cd:cafe::af) by CH0PR03CA0102.outlook.office365.com (2603:10b6:610:cd::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.22 via Frontend Transport; Wed, 4 Mar 2026 16:24:00 +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 CH3PEPF00000010.mail.protection.outlook.com (10.167.244.41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.18 via Frontend Transport; Wed, 4 Mar 2026 16:24:04 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 1A69B406550; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.24]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id EEE01820258; Wed, 4 Mar 2026 16:24:02 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org, brendan.higgins@linux.dev, davidgow@google.com, raemoar63@gmail.com Cc: linux-sound@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 2/4] ASoC: cs35l56: Some KUnit testing of cs35l56_get_speaker_id() Date: Wed, 4 Mar 2026 16:24:00 +0000 Message-ID: <20260304162402.1714759-3-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304162402.1714759-1-rf@opensource.cirrus.com> References: <20260304162402.1714759-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: CH3PEPF00000010:EE_|PH0PR19MB5195:EE_ X-MS-Office365-Filtering-Correlation-Id: 39e831a2-bea8-4dd0-7db3-08de7a0a73b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700016|376014|61400799027|54012099003; X-Microsoft-Antispam-Message-Info: YFPKdf3KfLPkE89jHFxmUPIzVgV6TOVFwPWoMuR7J1QvbKq47KFYxxrhv2hvkx6umS1cQ5kZXkLvoXE7YTCEK1dvHwOoWfbJxnoNwx07w2tQclE+kuCFa7Hl49x1Zyf4V+AMf+uWSE8mclvYgG8BGOhTMc3eEPctX+b/KwMAsqWmbT59zVEHY4p2dHwI4Wx/FAOxlL1soERZ5TwQAKvtVClquQeuLSdeBmWAhBi7QxCLURn3adRC3ANlatBW62pvyHAfvklbL3xHsPFDV6HS17Jr+AwA+HSHZVowRqVDozAXg6hZxFIkk24M6KzRx/7RQ106RfOI12a0pA/gcS/FU376eO3+V437Sh1skAEHhSIDd+SEjq+5RYjfShVvYW0hhX/UlJSbQSCRKYzwiDisFlyIv68rern3D/Ix56XdIgx/6GfyNTLXYh5mQHzu3rKi7YRtdsDb9NIGEiKuaYL1C35boo6g5JKrZ6sQj6e+4zBMkB3cDSTrvmKNb5AQfC66eyz35ty1nZqJ7pHHkCW0mZX+g26Go/jlCxac66RF5BPTmk+/sYYJ1il+HsGULHB8a4VxX05dtT5RgKYyHqAjm8Sx874ygMBZIakCz+jzF+SzBSEKZs04l3QSnGQjxxJHZGBq9z+J0Q9RVSqLiZK6+I03bgCqAszCnB/UdAPQ/YnvcYEUiWJWS9JUzKv97+ratQXzczf36dqFywZ4KIuEeXyEI/3vjq8Q3R/KaSJIm1Gsbag5x41XTjitOplqvsr3c0cr/29xA0y0fSCjMtaRsw== X-Forefront-Antispam-Report: CIP:84.19.233.75;CTRY:GB;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:edirelay1.ad.cirrus.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(376014)(61400799027)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: SS2aYB+dtHwqySnu2XE4Hy3auPE0RIJEixznvpATms7yUQVlTBRLW2XfwfFIKIKBJv8FTX7xswbPTOFI+v2Wz9Jx3eqtNOBmmvvgMGmSVV64EiKr5UtzXSUA2zeIqJtmra9EXPCMPovgPaICHmJy/uELhFQO/w05IiukslftEc1sOMgGf0fax8sTajOtA40VGXbzs60BGatcHM2+BwQdWkUbdS/5KFmz1c4hV58NILTnBx7dss+GOXNlsfO2q3ZgUauWe1V//2QmtmWBx9nCzrKYVo5rOX4kI2GT+7OcN2XBNOp6ORLBRzjFtFAlMJtqILc+RQ4XZOWZ9Sn1ZSDBfgDFvGgQcUQV99ZpTRLPR/0whItE7pVPZw+VK1HaXGdrjaJDnaNDip2zqTslnVacegO2SZbZ5V+JaoCob5fhdAiwybw0ZcxZAoLAGzU642kO X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2026 16:24:04.0080 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 39e831a2-bea8-4dd0-7db3-08de7a0a73b0 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-CH3PEPF00000010.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR19MB5195 X-Proofpoint-GUID: -jLvsNQdCTC6ZwX37ItmdjATx9TzNjRb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEzMyBTYWx0ZWRfXxcKy3vck+Kpn oJupcnYSTUGqFPTOOHH0b6KOKUJcA4DEtmkZ1XbNk+Oow35nn7C1vo5VYHJyreSgDSbmCM64gnz FTiDWeydbowL1CQWjXiZoOkpABxzl30YXsCHiWU/zlMcw/n0p5+k/KKIVUNeejcqyHZ0QrA/X4G V5IZrtwBUs/GR1USmna/33JkLjzdVVgCRaGGIkbkrMImt2mt4CQcN34W64oXvVEzX80cGbJyRke XRuF8eB5/xOglIY+JavMx6u7M+LyHLem4V0UoPewDsu0kgHtzryAi52Vc0sQ3v9MSDrvuC8fg/l mqkQxm6Z1ySfs7kU70CXtG2qEmR20mO6yVD+4Y9fGC+2HFHBCqlJsqH7qv7mpZ3Y2W3H9eacfcX P0LjE0MdsljPw9G/FxCBSNLun6ogpg3WLDtDyWwuFowR7qNrRT5/UrDgfY0MO++52TQdMWg+BIn ncBBmDDCXzcNnDRrklg== X-Authority-Analysis: v=2.4 cv=ZaIQ98VA c=1 sm=1 tr=0 ts=69a85ca8 cx=c_pps a=ATTLtrtrxPgGSLD8O921vA==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Yq5XynenixoA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=kJm_cqfxpSTBmBWTWoYA:9 X-Proofpoint-ORIG-GUID: -jLvsNQdCTC6ZwX37ItmdjATx9TzNjRb X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add some KUnit tests for cs35l56_get_speaker_id(). These only test the simpler cases of reading the speaker ID from cs_amp_get_vendor_spkid() or the "cirrus,speaker-id" property. The untested case is reading it from GPIOs, which would require a dummy implementation of a GPIO driver. Signed-off-by: Richard Fitzgerald --- sound/soc/codecs/cs-amp-lib.c | 2 ++ sound/soc/codecs/cs35l56-shared-test.c | 43 ++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/sound/soc/codecs/cs-amp-lib.c b/sound/soc/codecs/cs-amp-lib.c index 8b131975143d..b34b1f5f121f 100644 --- a/sound/soc/codecs/cs-amp-lib.c +++ b/sound/soc/codecs/cs-amp-lib.c @@ -716,6 +716,8 @@ int cs_amp_get_vendor_spkid(struct device *dev) { int i, ret; =20 + KUNIT_STATIC_STUB_REDIRECT(cs_amp_get_vendor_spkid, dev); + if (!efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE) && !IS_ENABLED(CONFIG_SND_SOC_CS_AMP_LIB_TEST_HOOKS)) return -ENOENT; diff --git a/sound/soc/codecs/cs35l56-shared-test.c b/sound/soc/codecs/cs35= l56-shared-test.c index 94db02aef7dc..d510893dcd44 100644 --- a/sound/soc/codecs/cs35l56-shared-test.c +++ b/sound/soc/codecs/cs35l56-shared-test.c @@ -37,6 +37,10 @@ KUNIT_DEFINE_ACTION_WRAPPER(faux_device_destroy_wrapper,= faux_device_destroy, =20 KUNIT_DEFINE_ACTION_WRAPPER(regmap_exit_wrapper, regmap_exit, struct regma= p *) =20 +KUNIT_DEFINE_ACTION_WRAPPER(device_remove_software_node_wrapper, + device_remove_software_node, + struct device *) + static const struct regmap_config cs35l56_shared_test_mock_registers_regma= p =3D { .reg_bits =3D 32, .val_bits =3D 32, @@ -410,6 +414,41 @@ static void cs35l56_shared_test_onchip_speaker_id_not_= defined(struct kunit *test KUNIT_EXPECT_EQ(test, cs35l56_read_onchip_spkid(cs35l56_base), -ENOENT); } =20 +/* simulate cs_amp_get_vendor_spkid() reading a vendor-specific ID of 1 */ +static int cs35l56_shared_test_get_vendor_spkid_1(struct device *dev) +{ + return 1; +} + +static void cs35l56_shared_test_get_speaker_id_vendor(struct kunit *test) +{ + struct cs35l56_shared_test_priv *priv =3D test->priv; + + /* Hook cs_amp_get_vendor_spkid() to return an ID of 1 */ + kunit_activate_static_stub(test, cs_amp_get_vendor_spkid, + cs35l56_shared_test_get_vendor_spkid_1); + + KUNIT_EXPECT_EQ(test, cs35l56_get_speaker_id(priv->cs35l56_base), 1); +} + +static void cs35l56_shared_test_get_speaker_id_property(struct kunit *test) +{ + struct cs35l56_shared_test_priv *priv =3D test->priv; + const struct property_entry dev_props[] =3D { + PROPERTY_ENTRY_U32("cirrus,speaker-id", 2), + { } + }; + const struct software_node dev_node =3D SOFTWARE_NODE("SPK1", dev_props, = NULL); + + KUNIT_ASSERT_EQ(test, device_add_software_node(priv->cs35l56_base->dev, &= dev_node), 0); + KUNIT_ASSERT_EQ(test, 0, + kunit_add_action_or_reset(test, + device_remove_software_node_wrapper, + priv->cs35l56_base->dev)); + + KUNIT_EXPECT_EQ(test, cs35l56_get_speaker_id(priv->cs35l56_base), 2); +} + static int cs35l56_shared_test_case_regmap_init(struct kunit *test, const struct regmap_config *regmap_config) { @@ -616,6 +655,10 @@ static struct kunit_case cs35l56_shared_test_cases[] = =3D { cs35l56_shared_test_onchip_spkid_pull_gen_params), KUNIT_CASE(cs35l56_shared_test_stash_onchip_spkid_pins_reject_invalid), KUNIT_CASE(cs35l56_shared_test_onchip_speaker_id_not_defined), + + KUNIT_CASE(cs35l56_shared_test_get_speaker_id_vendor), + KUNIT_CASE(cs35l56_shared_test_get_speaker_id_property), + { } }; =20 --=20 2.47.3 From nobody Fri Apr 10 00:55: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 9977A364941; Wed, 4 Mar 2026 16:24:22 +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=1772641464; cv=fail; b=JZ3H6KI33pcVJY3XhxbZmp2Wk11GM0eEvfeBZ1ngVU//VRwAh4DQZoTWgdyOAX+wewtubAdN7EJOIXGMHee9ztAvZ1ViHmhRw57/6cN3BQN01kagCFMSzozN76pjOBZaNknmJcwaWuaEdGW7EIdZyBJGmMa9QWF85JjzKaep57s= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772641464; c=relaxed/simple; bh=2F6QLv86kFcnTfFNtSGBXenLtI9iX2Zso9HqgTooeMI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=FMO6MmAJ0sj77YC//NYuGDHUxMUHHUyllvMbjzHDBzdforDfGrvevNDbH/CB0rH2aAMLG7NxS4+DoMPbHIp324nPA/sneMZVYJ1trLQ6MgJoA7ieJDD4IH0kGXbEHh84qgPwxqCfxnWkAQIkBaJN4lcgq7K5lT5I25T2HEDKES8= 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=MIGb2UrQ; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=DuPftnx1; 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="MIGb2UrQ"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="DuPftnx1" 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 6246k9Pb3004047; Wed, 4 Mar 2026 10:24:09 -0600 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=rtl1+0mqGT9CWMc6648JJtGdmrua0bxHnnb0kwEGnM4=; b= MIGb2UrQq7HLIDnMR60w5/srY85czyAIjHHbYroL+Z+lOQ6SqYdqKedCU4rciuMD YqolI3YvSOTYeInudQKR59wxdQP7tT50hzSb7HIMazNM/CEnftmPC2bmIi+rzEky HbO7s13CaquoZoB9Oc7ALehVPmb1dFyDCtB8+RIs1XYEygb5U39LVlqDDXidzMOX Su713GzNyz7XPe9zM3Ol0nLTVCAjRcBjXfMPSZV+1Xx4Gk0g1ImJF83egEAaO2sn suhDGmrrjx5F0qA82d5nNVi3UnCv5rYrg3zGA3ozSQZlAt9ctJsJkOC0Z97sYmgd F22eDEhv+zBkFidjrWDi0A== Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11020086.outbound.protection.outlook.com [40.93.198.86]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4ckwnn51m2-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 04 Mar 2026 10:24:09 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tNvSkp6zqxaO+b0p5cAfO35tM5o/CuJY1VkyEPaOVbf6CGvFvYyrb+7GF2xLUbaqVatvFlIKcsacWYA7YsEa5EuUgCteo4yLOBAOr06btY9apzigERNn4P18rS8PSNM2ul3yP2DS1v9Z28FILrlVrugzusay3Cfs0CLQ9dgv3oFCi0ki7/8JdBEPAqmyc4+e8uAdZAnmXWMwLbM0j4wXG5vBFfwj5PyRuKEw6WNgALqhOWHYFWo07V+VHJkCylz46D3adCuoK3wZHztGTxktW3uXhnKMHDYskNrFFYnwCQplvg3GwaDcuoPkXgI0RzcYx8Ujvj9XV+/S5Qk4FZmqaw== 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=rtl1+0mqGT9CWMc6648JJtGdmrua0bxHnnb0kwEGnM4=; b=nlaRapKiyI9GyzSIlXEMHqlilJNjLt8dg6ZSBVH3N5bRIwx6W1ahBDpqkhr8zFFJJB+2STjFvb5RagKMMei980BmdH3MHe5RCZvd2EYku2TMPd/F9WLnUzH+7f0768JeY3qat0IMRe07I3NDpAw1VxEOhxLwKycR3XkpyRxR3N6LpWGlQAdegNlMjuUXNosSrJ5vYwDd0P0adYes2/JGXIUM7i4PBEWvMj+vAOiQ2bK6c7sthM/Nm1mtBBWUroF2W3A4fyxRwFoUDaK+j8RSt0cTLKzdcgVDn9VPe1m0Ym7Wf1a0mA+SVLWYDQYCrOFIkv+uyA+JhHDRmPWsrsdgyw== 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=rtl1+0mqGT9CWMc6648JJtGdmrua0bxHnnb0kwEGnM4=; b=DuPftnx14grTnN2yG9FAB7RwMYd+pUTOPsiEdpIE0QT4x9gRwPGn1tBDNkfwrFOBXO2iHBgHTTv2L8NFWVlUOZNUqCrtmJdBafaay291TtFqfchygx6N8ZgfeiMhU3vuf50cuy+tLwu5WY6r0xVT6gUHtZeaWSvy1ey+saf4gcc= Received: from SA0PR11CA0143.namprd11.prod.outlook.com (2603:10b6:806:131::28) by SJ2PR19MB7557.namprd19.prod.outlook.com (2603:10b6:a03:4cc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9654.22; Wed, 4 Mar 2026 16:24:06 +0000 Received: from SN1PEPF00036F41.namprd05.prod.outlook.com (2603:10b6:806:131:cafe::a3) by SA0PR11CA0143.outlook.office365.com (2603:10b6:806:131::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.22 via Frontend Transport; Wed, 4 Mar 2026 16:23:47 +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 SN1PEPF00036F41.mail.protection.outlook.com (10.167.248.25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.18 via Frontend Transport; Wed, 4 Mar 2026 16:24:05 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 22C32406554; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.24]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 07C2E82024B; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org, brendan.higgins@linux.dev, davidgow@google.com, raemoar63@gmail.com Cc: linux-sound@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 3/4] ASoC: cs35l56: KUnit tests for reading speaker ID from host GPIOs Date: Wed, 4 Mar 2026 16:24:01 +0000 Message-ID: <20260304162402.1714759-4-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304162402.1714759-1-rf@opensource.cirrus.com> References: <20260304162402.1714759-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: SN1PEPF00036F41:EE_|SJ2PR19MB7557:EE_ X-MS-Office365-Filtering-Correlation-Id: 05a9b0c1-c003-4f32-4d36-08de7a0a7451 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700016|61400799027|54012099003; X-Microsoft-Antispam-Message-Info: a0mXCOS0e8P9XDBnHdR3JVUsOSlxlliL9w7e7i2DJ/Qwy4YGdN0MfPKrVYxQfKZMhScwgRQqA5edHWYcOH+mw9aMsC8CBGJ93Sithq1XT+819LS36F7/8H8tlBAJmRkHcJpsg+CNHO/N+dpS9iMyRu3iblryp0oO5UK8gGIKlLmR5XYNj72eLUPASK+2Tf/ujE7VnwMuLr62qDtpZ1G2wUw7sTdjxt8K5QC8Wrl3RCmJkLfUx3nhcFpcTh3MwA6w5YXB8mFSbt+eqsQQNM3DS4XHWKV1dUSZbwh84brT9E4i4OYkzoDSpSgAZkyqdIXTmp1IX1I3zvTi49ftpdRPvqKJHPhE0W38kqSXKp05ScOTbBcfPqtQglhMOY2fbOx+zDHPcdZHVP7n/DmYQdrJ1aDoXEIT43OQ04+l6Fe8k1Ti+bSbcTfrqrULGEbJz6PlYiq6ZSs1jX5HlRORDWxlXmfoDGM1qec0DGQrxutLik9k2Jc4fNFWAtbnG5gla/RA4ABGKdfGyXnhmGIq1X2HOxbXRl74h76J49Lhn076CmbY22JLtPCmuE3talb1uIaql5Dd/KrMpIR3+xZdQbh1yOkak82A9iiIXkPuXqjGh2wuo5ySpsVntZ0Vr5Nur55T69nY1xM81W2aWBHN7gzG6a9Kz+z81BWWFNAjTdyWhPWEtW+0ebjeQ5jJIs8W7Yx+IsEvzbobIwAKafYG7x2zz6Khtv1+plbqaK921TgSRbp1RHhsk7KQXHZ2wfDm2BwcjGLoygsIArYnHZfiYjtu2g== 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)(82310400026)(36860700016)(61400799027)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BcahqG0EhjOOXHUmY7TaDX47XmopdC1IY4d+PKDMx3UOFzhw+C3JZ5Kziv0FXuwBJ2q3HquV8zeE1q+laiilwPx4yBcZp00Wc3+rL+XvD+CHSMQKI9bacplMoIg9/2qZyyp+W6ITQJJYYCnjDRBiB7WWU8m77Yn9GpDfLqCFxnLtEbAiHhl3WvxzThFMIpin/P6tBvjoaNbtaopfe/QjzbZxSr9I3ZLRnWBXuMFvI4LZAbod30OSB/QAegjZm+H6V7Nc7/DKqA0vmEdOYoYBSPT7SxOA6z3NBLFidIOdVIZjwLu6i7NZJIOw20fvq/Ru94gN99u1jzLzzlpJlyzsMlbo4KH8QlkC1At/VNZWZuQBmW0iFd9J0PavccchNoj7OrN/89hqnCI4vAdM+3OmQp6FG2W1Uuo/mec+XAjZMP/LP6S/6Tm07qKhqfz9U1UR X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2026 16:24:05.0064 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 05a9b0c1-c003-4f32-4d36-08de7a0a7451 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-SN1PEPF00036F41.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR19MB7557 X-Proofpoint-GUID: 1Gzm16i4K7sIqcSoK2m9m8KrYbyHWuSe X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEzMyBTYWx0ZWRfXzJpyH1Bw+/gW LcmYqlCWho1WlAE84VquXYMdnVijBRTPbIzmxDAmo+GR0g9y3jWhxO0h9AXG2eUrg62NBmc86lb tN4uRh87LfgElClMhHGQK5lAuCrVdHtyEGjL1wOD/L8xZ/UEEmq4AdMk6Pbas7smDsT9N8ndv8/ 26TZ2ofWj0Bc1EAQoNtRHPzoc7Pbv08ZhTTAye7peWJuZWgfelyunmmGFVsspJzLXpvhwUbMa1v +Ser0ypsCxngdU1yTjKFw4UDJxP9nJ2siGmEoz0ydGAWMn0za94vviFxSJsZ6Jt+DuApjPaK1p8 6I+hXkmQtRYVCH0gsTXCyC7MR9WDT8DQMMx13hoahNDPTCX8tYGTf+5GDX0n2wd5SRWTOfpZRc+ zPLCJU5CXTLeByifPRUs+ojxOEwUB0kBhggy0SJ+1N/XEU9hMv7KvtWtaqCHN7PWsonAjo7YJHv ln3030IdJbze9agXVJQ== X-Authority-Analysis: v=2.4 cv=ZaIQ98VA c=1 sm=1 tr=0 ts=69a85ca9 cx=c_pps a=lEAsXE5stpqivpVhnk0CUA==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Yq5XynenixoA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=nv8Dcbm2-SvBrymBcg0A:9 X-Proofpoint-ORIG-GUID: 1Gzm16i4K7sIqcSoK2m9m8KrYbyHWuSe X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add test cases for the spk-id-gpios property used to read an integer speaker ID value from a set of GPIO inputs. There is a single parameterized test function, cs35l56_shared_test_get_speaker_id_from_host_gpio() that does the following: - Create a mock GPIO driver to simulate real GPIO inputs. - Create an array of struct software_node_ref_args to provide the content of the spk-id-gpios property. Each entry is a reference to a GPIO on the mock GPIO driver. The GPIO indexes are taken from test case parameterization. - Create a software node containing the spk-id-gpios property and set this as the node of the pseudo codec driver device. - Call cs35l56_get_speaker_id() and assert that the returned value matches the expected value defined in the test case parameterization. Signed-off-by: Richard Fitzgerald --- sound/soc/codecs/cs35l56-shared-test.c | 197 +++++++++++++++++++++++++ 1 file changed, 197 insertions(+) diff --git a/sound/soc/codecs/cs35l56-shared-test.c b/sound/soc/codecs/cs35= l56-shared-test.c index d510893dcd44..cfe7938065f9 100644 --- a/sound/soc/codecs/cs35l56-shared-test.c +++ b/sound/soc/codecs/cs35l56-shared-test.c @@ -11,15 +11,23 @@ #include #include #include +#include #include #include #include #include #include =20 +struct cs35l56_shared_test_mock_gpio { + unsigned int pin_state; + struct gpio_chip chip; +}; + struct cs35l56_shared_test_priv { struct kunit *test; struct faux_device *amp_dev; + struct faux_device *gpio_dev; + struct cs35l56_shared_test_mock_gpio *gpio_priv; struct regmap *registers; struct cs35l56_base *cs35l56_base; u8 applied_pad_pull_state[CS35L56_MAX_GPIO]; @@ -41,6 +49,90 @@ KUNIT_DEFINE_ACTION_WRAPPER(device_remove_software_node_= wrapper, device_remove_software_node, struct device *) =20 +static int cs35l56_shared_test_mock_gpio_get_direction(struct gpio_chip *c= hip, + unsigned int offset) +{ + return GPIO_LINE_DIRECTION_IN; +} + +static int cs35l56_shared_test_mock_gpio_direction_in(struct gpio_chip *ch= ip, + unsigned int offset) +{ + return 0; +} + +static int cs35l56_shared_test_mock_gpio_get(struct gpio_chip *chip, unsig= ned int offset) +{ + struct cs35l56_shared_test_mock_gpio *gpio_priv =3D gpiochip_get_data(chi= p); + + return !!(gpio_priv->pin_state & BIT(offset)); +} + +static const struct gpio_chip cs35l56_shared_test_mock_gpio_chip =3D { + .label =3D "cs35l56_shared_test_mock_gpio", + .owner =3D THIS_MODULE, + .get_direction =3D cs35l56_shared_test_mock_gpio_get_direction, + .direction_input =3D cs35l56_shared_test_mock_gpio_direction_in, + .get =3D cs35l56_shared_test_mock_gpio_get, + .base =3D -1, + .ngpio =3D 32, +}; + +/* software_node referencing the gpio driver */ +static const struct software_node cs35l56_shared_test_mock_gpio_swnode =3D= { + .name =3D "cs35l56_shared_test_mock_gpio", +}; + +static int cs35l56_shared_test_mock_gpio_probe(struct faux_device *fdev) +{ + struct cs35l56_shared_test_mock_gpio *gpio_priv; + struct device *dev =3D &fdev->dev; + int ret; + + gpio_priv =3D devm_kzalloc(dev, sizeof(*gpio_priv), GFP_KERNEL); + if (!gpio_priv) + return -ENOMEM; + + ret =3D device_add_software_node(dev, &cs35l56_shared_test_mock_gpio_swno= de); + if (ret) + return ret; + + ret =3D devm_add_action_or_reset(dev, device_remove_software_node_wrapper= , dev); + if (ret) + return ret; + + /* GPIO core modifies our struct gpio_chip so use a copy */ + gpio_priv->chip =3D cs35l56_shared_test_mock_gpio_chip; + gpio_priv->chip.parent =3D dev; + ret =3D devm_gpiochip_add_data(dev, &gpio_priv->chip, gpio_priv); + if (ret) + return dev_err_probe(dev, ret, "Failed to add gpiochip\n"); + + dev_set_drvdata(dev, gpio_priv); + + return 0; +} + +static struct faux_device_ops cs35l56_shared_test_mock_gpio_drv =3D { + .probe =3D cs35l56_shared_test_mock_gpio_probe, +}; + +static void _cs35l56_shared_test_create_dummy_gpio(struct kunit *test) +{ + struct cs35l56_shared_test_priv *priv =3D test->priv; + + priv->gpio_dev =3D faux_device_create("cs35l56_shared_test_mock_gpio", NU= LL, + &cs35l56_shared_test_mock_gpio_drv); + KUNIT_ASSERT_NOT_NULL(test, priv->gpio_dev); + KUNIT_ASSERT_EQ(test, 0, + kunit_add_action_or_reset(test, + faux_device_destroy_wrapper, + priv->gpio_dev)); + + priv->gpio_priv =3D dev_get_drvdata(&priv->gpio_dev->dev); + KUNIT_ASSERT_NOT_NULL(test, priv->gpio_priv); +} + static const struct regmap_config cs35l56_shared_test_mock_registers_regma= p =3D { .reg_bits =3D 32, .val_bits =3D 32, @@ -449,6 +541,74 @@ static void cs35l56_shared_test_get_speaker_id_propert= y(struct kunit *test) KUNIT_EXPECT_EQ(test, cs35l56_get_speaker_id(priv->cs35l56_base), 2); } =20 +/* + * Create software nodes equivalent to ACPI structure + * + * Device(GSPK) { + * Name(_DSD, ...) { + * Package() { + * cs-gpios { + * GPIO, n, 0, + * ... + * } + * } + */ +static void _cs35l56_shared_test_create_spkid_swnode(struct kunit *test, + struct device *dev, + const struct software_node_ref_args *args, + int num_args) +{ + struct cs35l56_shared_test_priv *priv =3D test->priv; + const struct property_entry props_template[] =3D { + PROPERTY_ENTRY_REF_ARRAY_LEN("spk-id-gpios", args, num_args), + { } + }; + struct property_entry *props; + struct software_node *node; + + props =3D kunit_kzalloc(test, sizeof(props_template), GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, props); + memcpy(props, props_template, sizeof(props_template)); + + node =3D kunit_kzalloc(test, sizeof(*node), GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, node); + *node =3D SOFTWARE_NODE("GSPK", props, NULL); + + KUNIT_ASSERT_EQ(test, device_add_software_node(dev, node), 0); + KUNIT_ASSERT_EQ(test, 0, + kunit_add_action_or_reset(test, + device_remove_software_node_wrapper, + priv->cs35l56_base->dev)); +} + +static void cs35l56_shared_test_get_speaker_id_from_host_gpio(struct kunit= *test) +{ + const struct cs35l56_shared_test_param *param =3D test->param_value; + struct cs35l56_shared_test_priv *priv =3D test->priv; + struct cs35l56_base *cs35l56_base =3D priv->cs35l56_base; + struct software_node_ref_args *ref; + int i; + + if (!IS_REACHABLE(CONFIG_GPIOLIB)) { + kunit_skip(test, "Requires CONFIG_GPIOLIB"); + return; + } + + _cs35l56_shared_test_create_dummy_gpio(test); + + ref =3D kunit_kcalloc(test, ARRAY_SIZE(param->spkid_gpios), sizeof(*ref),= GFP_KERNEL); + KUNIT_ASSERT_NOT_NULL(test, ref); + + for (i =3D 0; param->spkid_gpios[i] >=3D 0; i++) { + ref[i] =3D SOFTWARE_NODE_REFERENCE(&cs35l56_shared_test_mock_gpio_swnode, + param->spkid_gpios[i], 0); + } + _cs35l56_shared_test_create_spkid_swnode(test, cs35l56_base->dev, ref, i); + + priv->gpio_priv->pin_state =3D param->gpio_status; + KUNIT_EXPECT_EQ(test, cs35l56_get_speaker_id(priv->cs35l56_base), param->= spkid); +} + static int cs35l56_shared_test_case_regmap_init(struct kunit *test, const struct regmap_config *regmap_config) { @@ -641,6 +801,40 @@ KUNIT_ARRAY_PARAM(cs35l56_shared_test_onchip_spkid_pul= l, cs35l56_shared_test_onchip_spkid_pull_cases, cs35l56_shared_test_gpio_param_desc); =20 +/* Note: spk-id-gpios property bit order is LSbit...MSbit */ +static const struct cs35l56_shared_test_param cs35l56_shared_test_host_gpi= o_spkid_cases[] =3D { + { .spkid_gpios =3D { 0, -1 }, .gpio_status =3D 0, .spkid =3D 0 }, + { .spkid_gpios =3D { 0, -1 }, .gpio_status =3D ~BIT(0), .spkid =3D 0 }, + { .spkid_gpios =3D { 0, -1 }, .gpio_status =3D BIT(0), .spkid =3D 1 }, + + { .spkid_gpios =3D { 6, -1 }, .gpio_status =3D 0, .spkid =3D 0 }, + { .spkid_gpios =3D { 6, -1 }, .gpio_status =3D ~BIT(6), .spkid =3D 0 }, + { .spkid_gpios =3D { 6, -1 }, .gpio_status =3D BIT(6), .spkid =3D 1 }, + + { .spkid_gpios =3D { 6, 0, -1 }, .gpio_status =3D 0, .spkid =3D 0 }, + { .spkid_gpios =3D { 6, 0, -1 }, .gpio_status =3D ~(BIT(0) | BIT(6)), .= spkid =3D 0 }, + { .spkid_gpios =3D { 6, 0, -1 }, .gpio_status =3D BIT(6), .spkid =3D 1= }, + { .spkid_gpios =3D { 6, 0, -1 }, .gpio_status =3D BIT(0), .spkid =3D 2= }, + { .spkid_gpios =3D { 6, 0, -1 }, .gpio_status =3D BIT(6) | BIT(0), .spk= id =3D 3 }, + + { .spkid_gpios =3D { 0, 6, -1 }, .gpio_status =3D 0, .spkid =3D 0 }, + { .spkid_gpios =3D { 0, 6, -1 }, .gpio_status =3D ~(BIT(6) | BIT(0)), .= spkid =3D 0 }, + { .spkid_gpios =3D { 0, 6, -1 }, .gpio_status =3D BIT(0), .spkid =3D 1= }, + { .spkid_gpios =3D { 0, 6, -1 }, .gpio_status =3D BIT(6), .spkid =3D 2= }, + { .spkid_gpios =3D { 0, 6, -1 }, .gpio_status =3D BIT(6) | BIT(0), .spk= id =3D 3 }, + + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D 0, .spkid =3D 0= }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(0), .spkid = =3D 1 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(6), .spkid = =3D 2 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(6) | BIT(0), = .spkid =3D 3 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(2), .spkid = =3D 4 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(2) | BIT(0), = .spkid =3D 5 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(2) | BIT(6), = .spkid =3D 6 }, + { .spkid_gpios =3D { 0, 6, 2, -1 }, .gpio_status =3D BIT(2) | BIT(6) | BI= T(0), .spkid =3D 7 }, +}; +KUNIT_ARRAY_PARAM(cs35l56_shared_test_host_gpio_spkid, cs35l56_shared_test= _host_gpio_spkid_cases, + cs35l56_shared_test_gpio_param_desc); + static struct kunit_case cs35l56_shared_test_cases[] =3D { /* Tests for speaker id */ KUNIT_CASE_PARAM(cs35l56_shared_test_mock_gpio_status_selftest, @@ -658,6 +852,9 @@ static struct kunit_case cs35l56_shared_test_cases[] = =3D { =20 KUNIT_CASE(cs35l56_shared_test_get_speaker_id_vendor), KUNIT_CASE(cs35l56_shared_test_get_speaker_id_property), + KUNIT_CASE_PARAM_ATTR(cs35l56_shared_test_get_speaker_id_from_host_gpio, + cs35l56_shared_test_host_gpio_spkid_gen_params, + { KUNIT_SPEED_SLOW }), =20 { } }; --=20 2.47.3 From nobody Fri Apr 10 00:55: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 1123F3644BD; Wed, 4 Mar 2026 16:24:21 +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=1772641463; cv=fail; b=CechUrhG+sARu3jA0PTLHzE9gzWBr/HZldiH/CtfSzqzWvN3OpzaAuwBOMwNS3Hprfiu/SNywPwK7G6j/yFUMin7wY6NHWrNGbVUanaZeS+rb7LCm7cUNmJJ8zvNK4sPvVNbkB6GpvPMT697d212/RDVyif4cm4oo5AEjeTOpIw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772641463; c=relaxed/simple; bh=t+gQEFwCOHDzVaHK+/exe21dLfbV9ApvzKeYNAdrMCI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MacE9nBgdXAnxl/qG/Ko5uEbHnhbqSMzqQ3O/06EElPGc0BDuuMLJSObX4k2KPfMuYIBVdbp5gjL3hm2BnrDEyffpXgYc5/V30ipp8ZVnfbi6CLw40J3Pya2U7dBJNO31ql5zPFyFu0loKr8ciEq7P9GnbBJniaiHZzR6Pymwc8= 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=SEtc7Ohk; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b=UXbg4J9A; 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="SEtc7Ohk"; dkim=pass (1024-bit key) header.d=cirrus4.onmicrosoft.com header.i=@cirrus4.onmicrosoft.com header.b="UXbg4J9A" 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 6245HEKi2857071; Wed, 4 Mar 2026 10:24:08 -0600 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=qotDDPxrdx6prtoiJ7qDijcVj6FKV1rOsh312783bPc=; b= SEtc7Ohk2U1u7lTOEABxnLwl5LX/QE+KKl25B61H0W1saOb8RtSEP+mz0ZICV3JF r6uIPPUpFFaINrexTQlXicok+jKzQ2NOGJ+m5fbc1dG7dJO0E8rBbiEF2lCWxqje UlYhzbS5JE3yRR5UFZuF70am7g8nygnIpJOvq1kuNVRJREzUrPTilxL6aKxFeORN et+9b089StkudOI7aIfK1hCyFwKIwl5BvLCXGFPN9/7b94FjUG61HJK9f0PSJgAC lRuMTx3NL5zhqw8ErmOEwE4gP+2H9ldeXyJkM2Y2ybsunVXELhFck3RXMkawYbyk QRxaR4W5mqRE1aI3tQ2qEw== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021141.outbound.protection.outlook.com [52.101.57.141]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 4ckwnn51ky-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 04 Mar 2026 10:24:07 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MAKv3Hs3Vif5wgt3wDx+/0ypFSpW74Z7NwbqUJocQ33DxbsP1JqstBDaAN20Ok2OCCi35pySMzsVe4Jbyd0gN9LkvNQqhE7ICRheScQ1AojaPHpAsjdvB1qjotVOyKoVVVni2XSML/oW+udf/0G59LHKDWQaLIhNFYGCTQ3RxGN9wQKXZ+UU2ImGHFUISTZb35o51XS748QzgJ3549/S4PUphWsIjC03lkc8p2NSWXWfqCuz5AJc+zWq2pdMo/0Ty8l0yZQ5IXDF6rlVJecounTQRYbktE6QDCieFhTzm19hpqbFzdostAd85zG5y6uHp95M43TwT36Ym4d9eiauBA== 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=qotDDPxrdx6prtoiJ7qDijcVj6FKV1rOsh312783bPc=; b=KaGx6lgM58X9RIXFNQT+xNf1joKSOzrlxsIO2D3+W8j0Fpc6HRimzsJn9tEK/+h4fG0i86pvaQMXdiqTzLxZkCCJCuGET+xE39Ha5nGvKeQrOT/n3GXcFeW4ucDHHp1hImdBcZafMqE2VCyYLABSEuXHma23zh5zhjKDkAsXHBrm1kozY9RaAgGKXYG8/iFHB6rSJR9GZ4WlDeQGORSLK2HL7MeZHzqIhL2eBOJLd0fhQSDHX1wNyrbEIlOXfwhdZ9xE3HHBwZuaeCGvkNgNgS2++/lOjf4sn+lWjjV2vVgWt4u9tI65TaQFZhGGUWHI531w3eIWisIDs5HHxj6Ljg== 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=qotDDPxrdx6prtoiJ7qDijcVj6FKV1rOsh312783bPc=; b=UXbg4J9ABVRtLftej10mSRSHPSn/uEfSYS2W3OWLQHiloE0VLqm2hC9TjnhxqfUC6RMpZIuudFCP7KpCqPyJNoURxui5RXNZ/UbqHtKZ7RP8rW3DANl49GF1K5z9g3AhxcfFxHE9253VFWfqiNsUBirqtlK/n9PF3ESjBDvTksQ= Received: from CH2PR16CA0015.namprd16.prod.outlook.com (2603:10b6:610:50::25) by BY5PR19MB3956.namprd19.prod.outlook.com (2603:10b6:a03:22c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.17; Wed, 4 Mar 2026 16:24:05 +0000 Received: from CH2PEPF0000009E.namprd02.prod.outlook.com (2603:10b6:610:50:cafe::c2) by CH2PR16CA0015.outlook.office365.com (2603:10b6:610:50::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9654.22 via Frontend Transport; Wed, 4 Mar 2026 16:23:34 +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 CH2PEPF0000009E.mail.protection.outlook.com (10.167.244.27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.18 via Frontend Transport; Wed, 4 Mar 2026 16:24:04 +0000 Received: from ediswmail9.ad.cirrus.com (ediswmail9.ad.cirrus.com [198.61.86.93]) by edirelay1.ad.cirrus.com (Postfix) with ESMTPS id 2921D406559; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) Received: from ediswws06.ad.cirrus.com (ediswws06.ad.cirrus.com [198.90.208.24]) by ediswmail9.ad.cirrus.com (Postfix) with ESMTPSA id 0C84D822542; Wed, 4 Mar 2026 16:24:03 +0000 (UTC) From: Richard Fitzgerald To: broonie@kernel.org, brendan.higgins@linux.dev, davidgow@google.com, raemoar63@gmail.com Cc: linux-sound@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org, patches@opensource.cirrus.com Subject: [PATCH 4/4] kunit: config: all_tests: Select CONFIG_GPIOLIB Date: Wed, 4 Mar 2026 16:24:02 +0000 Message-ID: <20260304162402.1714759-5-rf@opensource.cirrus.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304162402.1714759-1-rf@opensource.cirrus.com> References: <20260304162402.1714759-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: CH2PEPF0000009E:EE_|BY5PR19MB3956:EE_ X-MS-Office365-Filtering-Correlation-Id: a1d2826e-c69b-4e1a-ae59-08de7a0a7429 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|61400799027|82310400026|36860700016|54012099003; X-Microsoft-Antispam-Message-Info: Rd9rtBs72Xb0AwAIXJB/51vyXpqw8voabY98MghluqnHa0lEmkzBpxxMf2PPBeo+b8HNGGJ4B6niYTKA+BKlDXCrqETcpNKnmklLkgVFNkxS1xCFWs1f2AJe//4sqnqC0/E8IA/4OrSyfCMEILvkEHKbfTZOVkqbvmADE4j46NibR6BDLcaRyd9PnqyD1rnV+qXlT6a0vC3BgmQz1+e4kRIuNYtOKV25RXLNmMcYtywGLKRqAlo1jsTkXM/VLTTtzvG2gtBdkDFYRJTrKdUm/ubOd+Y8txUSzRWllogK3/aGOr6HzoIHwCXYzLXuEcQ8OEd4X3KfGuJnrj99pBlJNx38UzQbLUdhl800IWDAJ2BEtuStvmV+CtUUzubJZmrIaZTb9/83F8F0iejyNvtu6wD43dymi1NK7Ie0LV2P1+YMA7jhEPESJb3wnSTyp/Xk6jYL2B4LxgDOdsxQNgxzR4SHbXu1YSjJoAoeWdPoiuSlCrFilf5Y0vApmvDH8ACNvp+GcH0UpAt+mOZvQq10rZwZGYIZsTj+zJCAKgH6M+wRWuPJysQhNBKrb66gaYoovKl2V0iy4d6+jq7zQsnkTungpTK8JxlsClW6WpwwvqrlAMFho/ZaeHs8xb7FW+QvZB9t/+275kfrbhd9EVsW8i55xV48mmUs4OS3F+1dd+c1Xs/gZvmUL3pv2rsYeQPXkSzOT5/4A2H3AmMuWvw4hPrYlYvt03fT8M29J5erFEU7uqDCzJNbFKfrI3D0xyo+TjJsBK76/748z7z/oVPUqA== 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)(61400799027)(82310400026)(36860700016)(54012099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 27M948WWrCJnkBm2EhCfwitQgz1rRjW1EJPcATKDVKloWPhwvlNGLUbKHdE4//1n0BMtYAzIkBoN7uBKP4LFpHEnfVM4kwF0XaduEAEe0xtaWQ0I4YR0rr+f8C9DTTKnRaAnQwPPGgwX7nzBMPC7Qg2i5aL13UJZGJGtNoRvrMt8C8fk/Ek0zbnbnThvGRh3eTV1WDX0adOCkAdUiUxWboku6inFzWqkE4apdidi5jHXB+LM1yJTIpq9y/faG9tv2NETPVIS++U2lS7nf/hqLnaM5se4PWlDUpIQRdoykKVmt+97pGXbzutkcE4169Ocza1uEFfZda+S8zT/DcHFPmByaWG7+EB63m0/WT8sY1P92ccLvjpfbfZYmIedaDQuDb7f6gW3huoA5D5buXB0jK+4hTMBtY1O+eEJ4Cy0xBN0sMSmwj4fU0lBr5dspbaY X-Exchange-RoutingPolicyChecked: jlonwnH586p/5uKj8M2+U40GzOIUNI7z9autjT19Shl/fzZ7+rPk4n0s8xShMXpkja3qGxFR8Va0t70ibMfUS1mQu37phXTWpOE6pFMG8wsuvy7qpX14TJWwBkYlrGeamVKPtcoVbqbi6qEHX2QXCr4C+575yXLdNwtB3HsAQebZuk7LMWCtIUkCSr+NHytv2NXTyNT8EV6pe52++/eaV9Fu3aPxilx52D8cnnnsh181l3Qsr7+JCcsR+K6bKNsmFmEGUPKmSNX5H9ve+BwsFIrNQGDB+jTRxyA7QEC2hydkkQQK3xzbV9drBup+e+Ok0jOHr3vFT5rdXfBF1zljmw== X-OriginatorOrg: opensource.cirrus.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2026 16:24:04.8018 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a1d2826e-c69b-4e1a-ae59-08de7a0a7429 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-CH2PEPF0000009E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR19MB3956 X-Proofpoint-GUID: yjv-DFHTxreGSHzgQ9Rj75hGg9fGH9EN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEzMyBTYWx0ZWRfXxXW4Dty3yJfY K/jYhggEAVq0BGrPWpZqSIPVTNX2/ulIZecaGH0HLmnq6L7MJXe4AWAqcwBwTV8wf0/TQfHHCQE Plm3azbXHg0JvVSbBUjm4zjI30ldIDD5KV7SqC1jynZ23wdycYzvKmfYvWcCKtK3Pe+yej6qUdd uMDaoJIgBb+06I6rv0rFB8EHjwIHKnJodGp2EXIv6BekKftORdNik2Ell2K6O0Pcz7ldYm7Om57 pBQWP23qylLChGfjXTbIHlz3ow59Px7M9axp5h85PLmxO6EmrJjQYI86pP8ToScV2D459yZaq+b vAZjYN/7MQwX8EU4qrrzvqB78GtFGKXrmQCzDN7kB3Ym4MCq1CInC/Ptzw2oz01w+AkY25PWKwQ J4hGm42uv5/7xWEGcrO4vhkEWBST1Bc1u8cpS7NCvOvT7wQLebkgFNxHp3uhpvmYIikQy7jKrQ4 rYX/EeC3mTyV+y3QZ7w== X-Authority-Analysis: v=2.4 cv=ZaIQ98VA c=1 sm=1 tr=0 ts=69a85ca7 cx=c_pps a=IXZk8buBm3K+4cvqFqH88A==:117 a=h1hSm8JtM9GN1ddwPAif2w==:17 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=Yq5XynenixoA:10 a=s63m1ICgrNkA:10 a=RWc_ulEos4gA:10 a=VkNPw1HP01LnGYTKEx00:22 a=iX4cTi3TZMoOKdANLEfx:22 a=KfkQE9S9VqCBgivYGm0O:22 a=w1d2syhTAAAA:8 a=_pdQjNNs5VuZOEkv458A:9 X-Proofpoint-ORIG-GUID: yjv-DFHTxreGSHzgQ9Rj75hGg9fGH9EN X-Proofpoint-Spam-Reason: safe Content-Type: text/plain; charset="utf-8" Add CONFIG_GPIOLIB to the all_tests config so that it can run test cases that create dummy GPIO drivers. Some tests for the Cirrus Logic cs35l56 ASoC codec driver and cirrus_scodec HDA driver create a dummy GPIO driver so they can test driver functions that read from the GPIOs. These tests will be skipped if CONFIG_GPIOLIB is not set. Ideally we would like them to be run when selecting --alltests. CONFIG_GPIOLIB does not have any dependencies and only enables generic library code. Signed-off-by: Richard Fitzgerald --- tools/testing/kunit/configs/all_tests.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/testing/kunit/configs/all_tests.config b/tools/testing/k= unit/configs/all_tests.config index 422e186cf3cf..e21239dc6fae 100644 --- a/tools/testing/kunit/configs/all_tests.config +++ b/tools/testing/kunit/configs/all_tests.config @@ -40,6 +40,8 @@ CONFIG_DAMON=3Dy CONFIG_DAMON_VADDR=3Dy CONFIG_DAMON_PADDR=3Dy =20 +CONFIG_GPIOLIB=3Dy + CONFIG_REGMAP_BUILD=3Dy =20 CONFIG_AUDIT=3Dy --=20 2.47.3