From patchwork Wed Dec 20 01:48:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10124807 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B95676019C for ; Wed, 20 Dec 2017 01:48:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AB4E92968E for ; Wed, 20 Dec 2017 01:48:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A034C296A8; Wed, 20 Dec 2017 01:48:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9AC52296AB for ; Wed, 20 Dec 2017 01:48:43 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id D5C012677B3; Wed, 20 Dec 2017 02:48:41 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id F202A2677B5; Wed, 20 Dec 2017 02:48:39 +0100 (CET) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 54E5F26779E for ; Wed, 20 Dec 2017 02:48:32 +0100 (CET) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie3.idc.renesas.com with ESMTP; 20 Dec 2017 10:48:31 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 72EE97076F; Wed, 20 Dec 2017 10:48:31 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.45,429,1508770800"; d="scan'208";a="265673159" Received: from mail-hk2apc01lp0215.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.215]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 20 Dec 2017 10:48:30 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xXo4wlCG4zQ/z80qGisGPlQMPudOfjqKWGVMd6+ZkfY=; b=HXAyZG7RxlrHpQAO2R/vsbEcZexp3tz+NsSM6AcBeYO0MWvoR3cSSe4DyqCUdh+U2CdMIQH4mr+xM5NKBnv8mzoUCJxWhhOcTRLjcsyU3v4O8mAkh04jHMy3uF2Q8V8MTP/MHIZU8YtfC5/MEsSGyzsHoI3dfOgNQgAwUUSyH4I= Received: from morimoto-PC.renesas.com (211.11.155.138) by HK2PR0601MB1875.apcprd06.prod.outlook.com (2603:1096:202:a::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Wed, 20 Dec 2017 01:48:29 +0000 Message-ID: <87tvwmxjnu.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown In-Reply-To: <87wp1ixjpt.wl%kuninori.morimoto.gx@renesas.com> References: <87wp1ixjpt.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Wed, 20 Dec 2017 01:48:29 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR06CA0025.apcprd06.prod.outlook.com (2a01:111:e400:5972::35) To HK2PR0601MB1875.apcprd06.prod.outlook.com (2603:1096:202:a::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a836a2f1-1daa-4dce-daeb-08d5474bc502 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603307)(7153060); SRVR:HK2PR0601MB1875; X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 3:jRYimY/7z4H75KsoalZ8ld/IyVaops9jZYbrwH2RLpRAr1ZOFAiJ1Sygsk5DIZ1qkfuwFhXY2KR+a8kZX99cWlLkG/7Hhe/4mPBkRuJibNhA1BJFDu1xtBoLdg2MSudCw2rBWqhb3qVb6S2rWsVAKdM1zXeXPV20VT6iSHPIbly19LKkzeMLY41afOM5ZFrqsNdOmzU2L1LQJrfDiDIh3CVPZFVxtmpBOJ3NMU6vyS3B5oiqJCyC3bOXH0pK7b4e; 25:xaHg6TVyzb8Byp3t9p6OFpJepk27lv9/3An7ERYBICgy6762QgDuoy2Lu4d0W3JXQ3SsZUZx2H+T5q8fOzA9qOdhS0xU5XMM9bGTdRwQI4uFUfroF84E6XXpX1l7sSp2gyJkVo4S1hrR0cfmaf+b3dhNvGHGDOhqQ+ymGqYeoM67yZKMDY2TxMR3hk8o6Tu4Q84QU61WyCVO4i/5RrywNBtgnwB40qgxYvzAKB/pfdCCLwIVfPa4osKadyYbzZX5aZGxY0uEqrP5TG5wUBpnsItjgX8cD9+4jpNQJzHRzQhFFe94oLLk0Fz1dVY4YyVbJ0q+mLxo+bYi8LqlxvK5lg==; 31:iI2/CTioQQVF7yyUZotInUL2d0YM6ylttoedbrxTkzCzYYFuzT1rvyFVQ/IMefdjUlimjilS3cmb6EVGS5gl78Oa2YmuyAP0BN7T3sZbytERsUPqSmg2GIwUeINDGaY6tHGqe3tSuuZEBjLGDkOtVe94G0ZwsA6/foOWezYu8QRKga32oTQ3+EOsDGesfctRyuD6zO4A+xrbsRLFIpp69GGgCwdWrbGC0Op5A1K9Rlg= X-MS-TrafficTypeDiagnostic: HK2PR0601MB1875: X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 20:VlLpN3OhurAkfgngew7iRZUEAwqwKoU3P7A8pKemWcDVqdTdjPLg51v30So75sBrAtixubDy+pEtgQxC6iGmeand9cM6idrDMqQDqWuGj1A2eWT2FGnudGmrKT3t9PPtguJcuQXPYjh061QrorUpNnLRZ5afZ3L5zbkmMs9X3tdfUmDNCfUwIvo3JzrhBhLPCPgu6/mxQCnrSf7YzRqmUG1CjveIGBdH4ciZhhgQv1eeMLqvGetHuQ5t3qcw7PQgD1KADP/AnMmt9q5eNHArD7vRw93Msb8qG+6CH9UgK0VCITS3IjIGOKEw/CIYUgfqcC4C68oOXlXt8b8rUWZWiLVseZD35NTv2xOju7T0A2X+fIfs4omw9fjFN9nkUME1u3Uv+juYAsrrjJRHu02OMcOp4lYEh/oaY9iESG4XzvModJARAZFD9bc88dr4USqOy5XFmN+42rvOe9SQdvfNNmRs/BZT/7FfczPndt66wSj7O74UNdpAwSSzN9pNun5Y; 4:eMG/uQ7vjs//sE8nx8zifuCw5k0kj0L2ue/U1TGvol+Zd0hOIKp2eAex4q20U4vkUyBV9rCSnTDGSVBZMxKy+e1HVBVrRfy3Uk9Fgd6TWGz94pLZVQGVkfq1v4FLY2qZApHs2IJppSCc5zwM5lAc2HklOfPuNtWG/LdkppWUTwmk3KTJI7/GSJ7Lq/GaPLGrmW1Efa2t4jbkCUaUmF/lJsdb7P3kfQUZc/jf7nKHw7MbJhdL8yt40UNFIItIMdMhAYABQ08q6qUKI0VvPvtXdA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3231023)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041268)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:HK2PR0601MB1875; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:HK2PR0601MB1875; X-Forefront-PRVS: 0527DFA348 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(39380400002)(376002)(346002)(396003)(366004)(189003)(199004)(478600001)(97736004)(3846002)(6486002)(6116002)(8936002)(23726003)(76176011)(83506002)(7696005)(52116002)(386003)(68736007)(66066001)(8676002)(81166006)(86362001)(81156014)(25786009)(7736002)(47776003)(53936002)(305945005)(4326008)(36756003)(16526018)(2950100002)(6916009)(5660300001)(105586002)(50466002)(106356001)(53416004)(54906003)(16586007)(69596002)(2906002)(316002)(58126008)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR0601MB1875; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR0601MB1875; 23:I/EkDDule3LrnvO/CWIgCv5NnqofdQqKCO7eCd3?= =?us-ascii?Q?6JVTaJYig8iCwe7ATgPJyXpDkRZfMrxF/JL/Q4WAQWPUA4z6MPV+1p4ymJ2e?= =?us-ascii?Q?Q2achlRqljmQaV+f9aghYSXkWvSkodLX6ruIHaxo7hwqQZIeRAIBVDgdnPvU?= =?us-ascii?Q?8/h7NMO4MEgZN7IU06iQ+pKHvfmIwFdQRole2XpH1FG139oUaTDMBmO6gz4a?= =?us-ascii?Q?uzRdjHi0EeTA199Hp4g5mQZJW1qfcPcrPvkdoTdc4WZheNEUtrEspN98lKtO?= =?us-ascii?Q?lBv62IMR6uCMBEa/5/s2P8qarvftBv1SrgiqSPRHyufBqc4eAAvw03iT+d9r?= =?us-ascii?Q?P9cSLhA5+ynWajXOWVSShRdvYHUmzDRgenv81gv2wJ3/O5Jut41M7SvEgtcj?= =?us-ascii?Q?r31rYe2Pg8M5ZYKrxju0/lRGCPf/eAhoBI8KsbN9thNnK1ET8QAWz7o1TXTK?= =?us-ascii?Q?CguEFoZWdWZZnsA1lIlu8or3LT5DKcIrzLYNZisqjAgND6ulOFd1tqCXbsri?= =?us-ascii?Q?W7yc7NZygm5Jiq6h6MG9eTisO5gqt7yRpLKjxxshcNomoZxmTIBGLzlf6zHZ?= =?us-ascii?Q?EhxkQ+nZqW9m2xvYN5u/JX80Wz8CqK6N4nmwNEz/GR6yvrD6UzpoUDiRdjZv?= =?us-ascii?Q?knssR8Bi6kkCr2fxrNJJx4v2n2R1UBPlwgZc3jeIgohRnn17g7sBVmAbzmQc?= =?us-ascii?Q?CYL5ABxdo2Y1aGUEV6uIuK+xdXwmD+4LoAzaCLq8YVacLVjnSRxk1PVG5ihA?= =?us-ascii?Q?KyF5hNrz5dPVKzwqo2U67psw54lqkK3KQz7w9FErX4s4UKHnqsE7bOH77BDn?= =?us-ascii?Q?Fd2J/jCNMDkvEJ0ZLMY7iAj8zMYpLzqVCC7nKNl9WuKX0D25NFc25WO5L98H?= =?us-ascii?Q?zIOTxjBcVz4EJm0qB/13kGHgrXA1K/jwY6t41kNz5pqE3zQGmp7iNKx6Ar4H?= =?us-ascii?Q?JnluvGnW5kyjbQx8GmzvR7ZtpBz6lzt3cMwohZo/s38L7ADwx2fNutHRqTIh?= =?us-ascii?Q?pFuKu0MVv9D6SUetgN019jCfve2LfHIllOsIN1n9GEz3S7jm7bANtG7l1c1c?= =?us-ascii?Q?PTKfixzgz1hXjVkIBN2E0FVxMs28wZc/SUX9XUCrx7hFbPig1+/LD58kKs9V?= =?us-ascii?Q?ynvJuod5e7yU=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 6:9A1++vkXGGbyzc8qTGABrQw7T00jcwOFWZoSmar/qQ1dzqFubspyRyTeC+3I6fWcknQnDxFNxatX/kAO4t0GQzeLw1tuCqb1QaXfae6NVRfqA6j6Nj9l+qkOt5bYm20H2cZCj6XiZdhfoHnJ/jQtYzDa5Ht/2/6mEP49mvxczqnMj2p0Qza1Q/7naCupT9bMNtXAf2erHZldeEIu4s5+2K1gcp4NV5XIIw1sZmWBUfJc4S4QC2XtlsYwLGaCa4dSZL9aKaTM7Q9dPfxWi//9n6c/RpxvinH2ZeSXgKJZ7plohiuqYwcA/gBG8Tm6kcpDWmii7bDnQCgSlGsT0WiRDX91eAT+njteYjXt5MPuvIs=; 5:huf6M5RUltqW7A0QrkPGck73QhTlx1GZHmow1odR6Vvj+iqib/s7HOJAqc50l9NRlSqRLPCsHcJrBtfoYdMDqoh1CHRr+ImQ+PGqkGBxtDzE3b7vQlwSeJ2y12V0hIBLdelFJeSzopPWIP4M9Ve7aqrmaRZ1BJjZZjxGSklvQ7Y=; 24:kkfnuT3ZX5sTyGoIeTJ+T9NM9vGvAQHyeJzykaZQk7m7kMqw/aGwSLtFQ0XmJU4kDoG6kTaGecRyg12K9bf2QHZ22Xar61cxVNbC/k4/Ob0=; 7:ssJ5lxJ5agKDAkw6eWtR5Z7upXa5Tk6/m9In8WpKB/6b2tixZn1Q1Iesggqg9H6usnVw/sWTstADeDgJpoFv1o/eFCt7T5eFluEIIkNaIsU6Rl7wDYdSEDaDdqPe7DfuX7AifBjACMBP+Bfpj8yfz7ZPXa9DPlOTwZouVP/VFpy7X0JgkLWHc//v+lqZfjGEd8HByMSsnvJw2ttRsf4rkPlJf/VjLpYZTBlH/MoD505l9t0xLDRuAZ0Q8POVkPCR SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR0601MB1875; 20:I83zH6rrc4DV/Qa5xKBpvSbBcb3lLqBZ6xhzO5EwjFXah1SjzfKYPU59jT98gjF3nJLruk2V5/WgdL20Ofs0u8kbtPc8sr5POeSVp8/aHDwiwTVPtX4SQQg+m4WN3Ly00q3I5chs36meKY0QqHAObJyZZhpUuw5ag0aOXUfePAo= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2017 01:48:29.3242 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a836a2f1-1daa-4dce-daeb-08d5474bc502 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR0601MB1875 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 2/3] ASoC: soc-core: remove dai_drv from snd_soc_component X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto ALSA SoC has some duplicate parameter. snd_soc_component::dai_drv is one of them. Each DAI is keeping its driver as snd_soc_dai::driver, and component has dai_list. This means, we can reach to each DAI and its driver by using dai_link. Thus, there is no need to keep DAI driver pointer on component. Let's remove it Signed-off-by: Kuninori Morimoto --- include/sound/soc.h | 1 - sound/soc/soc-core.c | 14 ++++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/sound/soc.h b/include/sound/soc.h index 22f479e..f17de1e 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -860,7 +860,6 @@ struct snd_soc_component { struct list_head card_aux_list; /* for auxiliary bound components */ struct list_head card_list; - struct snd_soc_dai_driver *dai_drv; int num_dai; const struct snd_soc_component_driver *driver; diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 07881d8..c3c633a 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3160,7 +3160,7 @@ static struct snd_soc_dai *soc_add_dai(struct snd_soc_component *component, if (!dai->driver->ops) dai->driver->ops = &null_dai_ops; - list_add(&dai->list, &component->dai_list); + list_add_tail(&dai->list, &component->dai_list); component->num_dai++; dev_dbg(dev, "ASoC: Registered DAI '%s'\n", dai->name); @@ -3187,8 +3187,6 @@ static int snd_soc_register_dais(struct snd_soc_component *component, dev_dbg(dev, "ASoC: dai register %s #%zu\n", dev_name(dev), count); - component->dai_drv = dai_drv; - for (i = 0; i < count; i++) { dai = soc_add_dai(component, dai_drv + i, @@ -4365,6 +4363,7 @@ int snd_soc_get_dai_name(struct of_phandle_args *args, args, dai_name); } else { + struct snd_soc_dai *dai; int id = -1; switch (args->args_count) { @@ -4386,7 +4385,14 @@ int snd_soc_get_dai_name(struct of_phandle_args *args, ret = 0; - *dai_name = pos->dai_drv[id].name; + /* find target DAI */ + list_for_each_entry(dai, &pos->dai_list, list) { + if (id == 0) + break; + id--; + } + + *dai_name = dai->driver->name; if (!*dai_name) *dai_name = pos->name; }