Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp4565069iog; Wed, 22 Jun 2022 01:05:46 -0700 (PDT) X-Google-Smtp-Source: AGRyM1vktH3S+gbLHaByO/08p6BDMK3Mknp9MzKiCin82Z4cGenK0AO8053Jtl8ZxInWQN6XLtiO X-Received: by 2002:a17:902:8342:b0:16a:39e6:5acd with SMTP id z2-20020a170902834200b0016a39e65acdmr7202825pln.32.1655885146172; Wed, 22 Jun 2022 01:05:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655885146; cv=none; d=google.com; s=arc-20160816; b=IMRQ1n2zg7UwsD9Ii2s46fyYnbXL2iBPQCGfwEvCeq63pjFhcR7oayDKh3qVvfyDuH nN5RXJziyeeExucde2I6FTugRJSOZwehACAveCaF/FCwVt1XI6UnJb8PaRaaDVQ+XsfS piuOP6u8QPoUUDT5LXlAdwr0WEuwJX9l/SzIlEiUhEbU5Q9xNtFpP1nsO+MwSsSV881Z r6DW82/fQe/OGDuKy8Fg04wMXglnrMKrdSSNS1M4an7sCvr8HXZpLuSq2VUG0qPiIMI2 PRFdGX1IFbN5yntVP97FE0Dm38x5yfmF878RDDBmYFXRgla2S2anEpWn1nxL+q2+wRO8 HqWQ== 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=FO6iU1IcBfKAwXi+/9Dv0uMNy7T43xHMT6t7xAC2CNiKug0r+tuj/RPuQEEYHCGRm5 gYvT0e4irHTePjq1vzlNN2Er2Y5lAOn67VosFSb6DY/VTv1/m50vgFTDIYTMvL3QMZTT qvKrIsEROerClBhxPk3PA1907knDz9gi+lZixlhoD7JOSlL9RC6Pug9U9m8CQyn7MGUm Znu6NKXC0smZVA9Lvr3HDdh1rLANObcqXqCAMdaD9OOSOILGmqco54ktLwdlU/CPivu3 Op6qR8t2YE0nBwJrymscB1W9uVgN9rGk1IS6FBrZrr0QOo7ggf/wvLHBwib1TWITRfX9 cZAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=DPw+5kdb; 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 qe5-20020a17090b4f8500b001eaa975a862si30143069pjb.23.2022.06.22.01.05.34; Wed, 22 Jun 2022 01:05:46 -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=DPw+5kdb; 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 S1354020AbiFVHrd (ORCPT + 99 others); Wed, 22 Jun 2022 03:47:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232027AbiFVHrR (ORCPT ); Wed, 22 Jun 2022 03:47:17 -0400 Received: from mx0b-001ae601.pphosted.com (mx0a-001ae601.pphosted.com [67.231.149.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A58337A21 for ; Wed, 22 Jun 2022 00:47:14 -0700 (PDT) Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25M5nidY032367; Wed, 22 Jun 2022 02:46:58 -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=DPw+5kdbjnyL83p7kdzvNXNpkTuuTPLsYYZlvD8phULF7+psmlH4hSHRk8tYTX3WhoLf yZgslwlUX3AjV/S/7lx2f9NPnInwxP7QuiomNhNxHcL3QEtwlgm8WoRaS8JUsSmLpsNc 7DUhHoV2iJWrfNV9ymbulc1t9uPK53SycL36wPWZwbx4koTa+FmvfCJXT5DyJizmakS6 MyJKthc6oNxrzA0hWZ4kAX6/dQ/DRa5lbHJ+4ZZDU3mg8u/zUS61Hq3IUD7SV5zwlHt+ 0p28CBpoUZLoLXF4eFBlSUGBVPR5ls/1r97v9HUfODf8R0O2bvp/IAawCYsREooeMXPI rw== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0a-001ae601.pphosted.com (PPS) with ESMTPS id 3gsc41cqh2-3 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 22 Jun 2022 02:46:58 -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; Wed, 22 Jun 2022 08:46:56 +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; Wed, 22 Jun 2022 08:46:56 +0100 Received: from vitaly-Legion-7-16ACHg6.ad.cirrus.com (unknown [198.90.238.175]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 6A51D7C; Wed, 22 Jun 2022 07:46:56 +0000 (UTC) From: Vitaly Rodionov To: Jaroslav Kysela , Takashi Iwai , Mark Brown CC: , , , Stefan Binding Subject: [PATCH v7 05/14] ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver Date: Wed, 22 Jun 2022 08:46:44 +0100 Message-ID: <20220622074653.179078-6-vitalyr@opensource.cirrus.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220622074653.179078-1-vitalyr@opensource.cirrus.com> References: <20220622074653.179078-1-vitalyr@opensource.cirrus.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: Gl2YTIcckGdZ8GLssjQD23JeEoaqKRdl X-Proofpoint-ORIG-GUID: Gl2YTIcckGdZ8GLssjQD23JeEoaqKRdl 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