Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp4212420iog; Tue, 21 Jun 2022 14:40:18 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s3lZqOmGLJRpks9JldYzgDJPUTiKWnThHiJOfTRP/c6YBsD/hl9Eh3OsyScpGxEDlzf5T3 X-Received: by 2002:a17:906:649b:b0:711:fde7:be43 with SMTP id e27-20020a170906649b00b00711fde7be43mr148336ejm.294.1655847617759; Tue, 21 Jun 2022 14:40:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655847617; cv=none; d=google.com; s=arc-20160816; b=bgdY5ZFTEzRU8L9OzGQSqiG1Rg6pRKpDvuPWHZvCQc+6y3sLiXTsEmKTOF8oNTz3Cn h7DKYIuM4zjsHnlzy95O5FO+JkiSDQW/ojVFbVuPGzxI0arJENGaFhA/GI/kbMCyL01I H5mJOIWhnZ1TOVxZ2iXA7W0mh7duVIS9n2Iw6mrpjkmgmwt1mP6lkcD9/5PIcB7k+Mav GL4SJ7vfQpowDcIa0u4+wch+xxv171CU2paOGgv+9LilAB18zdS8XbBzzPGVrHa4bMgm 02UMRT4JQPjYYcmxN8IFHMQOQGrbacEC4yHOc7/T9AyDUZU/CSyezF7i51qfhxECf+4V GtSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=R/t6fc1SxxcbNSxZ8Yw6JojVc/MfujfdPc5svZLK/5I=; b=V8qNktpEt+sMbMbafRIRrKBjmJn17ySZRza9RGF1qxlw/Z9r1WzSpdPPJD6oqKmpLH Kw3gwxNpHPYJQDcLLECURY/hUdsNJOj4uHZz3J9bADMa0DOWuAgqfFk5ChkM6QQtbELx to8e64f83HtNT9RffemJCi2+yKDJh12NFtNZH5JwpgFSKkI96DOZau21U8kdvLfAmbqb rDglDDREKCJmQwzU0ICOFHVAJSeWDRR7UccIb1koNA+veZqiCRJ/DeeFOVOAUdPzu5zp Jg55CEf6dp/Wx/M66mBk9RQpGnjzxK0P2pyOjhy9WCKFkRjf99uSg6rYJtRtWGYAGEdl +ybg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b="g/DFUibQ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hu8-20020a170907a08800b007186035338asi106255ejc.348.2022.06.21.14.39.49; Tue, 21 Jun 2022 14:40:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b="g/DFUibQ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355886AbiFUVis (ORCPT + 99 others); Tue, 21 Jun 2022 17:38:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354220AbiFUViZ (ORCPT ); Tue, 21 Jun 2022 17:38:25 -0400 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9540F11A36 for ; Tue, 21 Jun 2022 14:38:24 -0700 (PDT) Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25LBDkxT018841; Tue, 21 Jun 2022 16:38:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=PODMain02222019; bh=R/t6fc1SxxcbNSxZ8Yw6JojVc/MfujfdPc5svZLK/5I=; b=g/DFUibQKofR9TIzS+H1BaYTEv1zrXcJRp9RWEaR1/Qg59sI7MmIrtP9CyoILpujO5/V 5BdYyq83CzhueuFAlK2I802emCDOl7JB0lV3GYchufp32OtE/PKmh47+Y2/AEc5ePya8 R0lqijNLdCWwWqgbnNkAPpq6NC8wo7Kvf5zXNEYZqoK3vk0o0DmLAbFRn4efd7J4THJB ZRd9a2paGVucjPpjtRu4FEDeOkd/tp1nT5v0O9lE6PWb7LFw0PF8L2mkj+WbVxGVKVoB DQl/gaw2ELH4LE9MJRl6uuOTzTGj9ulBKlzSQwvkDi1UwPZcx0j6kD86d4+6/8ZTIahj sA== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3gsb4p45ae-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 21 Jun 2022 16:38:04 -0500 Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Tue, 21 Jun 2022 22:38:03 +0100 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.2375.28 via Frontend Transport; Tue, 21 Jun 2022 22:38:03 +0100 Received: from vitaly-Legion-7-16ACHg6.ad.cirrus.com (unknown [198.90.238.175]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 7081611D3; Tue, 21 Jun 2022 21:38:03 +0000 (UTC) From: Vitaly Rodionov To: Jaroslav Kysela , Takashi Iwai , Mark Brown CC: , , , Stefan Binding Subject: [PATCH v6 05/14] ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver Date: Tue, 21 Jun 2022 22:37:52 +0100 Message-ID: <20220621213801.2021097-6-vitalyr@opensource.cirrus.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220621213801.2021097-1-vitalyr@opensource.cirrus.com> References: <20220621213801.2021097-1-vitalyr@opensource.cirrus.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: -D2a_yCXoMP18Qi12m6-gFX5ePQx81AN X-Proofpoint-ORIG-GUID: -D2a_yCXoMP18Qi12m6-gFX5ePQx81AN X-Proofpoint-Spam-Reason: safe X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Stefan Binding The Subsystem ID is read from the HDA driver, and will be used by the CS35L41 driver to be able to uniquely identify the laptop, which is required to be able to define firmware to be used by specific models. Signed-off-by: Stefan Binding Signed-off-by: Vitaly Rodionov --- sound/pci/hda/cs35l41_hda.c | 3 +++ sound/pci/hda/cs35l41_hda.h | 1 + sound/pci/hda/hda_component.h | 1 + sound/pci/hda/patch_realtek.c | 1 + 4 files changed, 6 insertions(+) diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c index 92c6d8b7052e..7f0132694774 100644 --- a/sound/pci/hda/cs35l41_hda.c +++ b/sound/pci/hda/cs35l41_hda.c @@ -356,6 +356,9 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas return -EBUSY; comps->dev = dev; + if (!cs35l41->acpi_subsystem_id) + cs35l41->acpi_subsystem_id = devm_kasprintf(dev, GFP_KERNEL, + "%.8x", comps->subsystem_id); cs35l41->codec = comps->codec; strscpy(comps->name, dev_name(dev), sizeof(comps->name)); comps->playback_hook = cs35l41_hda_playback_hook; diff --git a/sound/pci/hda/cs35l41_hda.h b/sound/pci/hda/cs35l41_hda.h index 5814af050944..b57f59a1ba49 100644 --- a/sound/pci/hda/cs35l41_hda.h +++ b/sound/pci/hda/cs35l41_hda.h @@ -42,6 +42,7 @@ struct cs35l41_hda { int channel_index; unsigned volatile long irq_errors; const char *amp_name; + const char *acpi_subsystem_id; struct mutex fw_mutex; struct regmap_irq_chip_data *irq_data; bool firmware_running; diff --git a/sound/pci/hda/hda_component.h b/sound/pci/hda/hda_component.h index 534e845b9cd1..fa6df52e7855 100644 --- a/sound/pci/hda/hda_component.h +++ b/sound/pci/hda/hda_component.h @@ -14,6 +14,7 @@ struct hda_component { struct device *dev; char name[HDA_MAX_NAME_SIZE]; + int subsystem_id; struct hda_codec *codec; void (*playback_hook)(struct device *dev, int action); }; diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 923c0d498d54..6a944396582b 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6655,6 +6655,7 @@ static void cs35l41_generic_fixup(struct hda_codec *cdc, int action, const char if (!name) return; spec->comps[i].codec = cdc; + spec->comps[i].subsystem_id = cdc->core.subsystem_id; component_match_add(dev, &spec->match, component_compare_dev_name, name); } ret = component_master_add_with_match(dev, &comp_master_ops, spec->match); -- 2.34.1