From patchwork Fri Jan 12 00:46:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10158915 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 09799602A7 for ; Fri, 12 Jan 2018 00:48:19 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EB777288DE for ; Fri, 12 Jan 2018 00:48:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E017228912; Fri, 12 Jan 2018 00:48:18 +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 C8C8A288DE for ; Fri, 12 Jan 2018 00:48:17 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 350B9267A22; Fri, 12 Jan 2018 01:48:14 +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 EB955267A20; Fri, 12 Jan 2018 01:48:12 +0100 (CET) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id C469A267994 for ; Fri, 12 Jan 2018 01:46:59 +0100 (CET) Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 12 Jan 2018 09:46:58 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 1A6856B4C5; Fri, 12 Jan 2018 09:46:58 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,346,1511794800"; d="scan'208";a="269303615" Received: from mail-hk2apc01lp0213.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.213]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 12 Jan 2018 09:46:57 +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=BqV01wxFq1rby5fupva8nUOB6gb9fzSnjBzVKNRBq4c=; b=VzcKUCW3YpXSoUxJ9tGoXUcmHDctpX2CpOI0blTo76ker8NG2Ffgo5tgiqCH3ef/NEA1IOWNPK0F0vEBFmo6KK+J5T7CiBuET87IaIMuIZEBkavf/XfxvJjefFTpqO16xKIXvmKPDVcuo7Nc1t6krK/P7rFh1h0sigUJ3po1h0k= Received: from morimoto-PC.renesas.com (211.11.155.138) by PS1PR0601MB1883.apcprd06.prod.outlook.com (2603:1096:803:8::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Fri, 12 Jan 2018 00:46:54 +0000 Message-ID: <87bmhzgb0n.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: <87vag7gb9o.wl%kuninori.morimoto.gx@renesas.com> References: <87vag7gb9o.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 12 Jan 2018 00:46:54 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: OS2PR0101CA0013.jpnprd01.prod.outlook.com (2603:1096:600:3::23) To PS1PR0601MB1883.apcprd06.prod.outlook.com (2603:1096:803:8::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2f5f5140-d00c-42cd-f450-08d55955fa4d X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020074)(4652020)(5600026)(4604075)(48565401081)(2017052603307)(7153060)(7193020); SRVR:PS1PR0601MB1883; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1883; 3:tR9Dkw54L88n3P9LS+IbgjSPucc6L68EoRV6PfBtCJx21qPqbNpObQofnhvNipWzKPuNRb+H9NoguSgbnHJ+vVc04HTcWlZOtKMobNw1p30bNzywJikLnC1wz4QtDBPA7Ne3NPAojIEwdqDrEcAHYv6lFZ97dvkOs2FbGBK+bG9V7wJKEL4CUuTV9Db6O6ki+fYnNzKUsHvk8dPsN6Yf9OXpRQkn/xbwCDQtnvWQVEM3Wi+FVj657Sq+SEGnrVLS; 25:i77o3+ggU0sRj951r5boLmx4WlRDWUjlLEkFi9wO14QIO7z2PQ2gCsB+Q9wo6mtFBjxLdBLBCgsdHPrlA6NIunArM1aodSzuvqOintvXbi+OfjSk83/3QsoyNvhxp8acnG1hsxqhfIXReyVtOex5v2hpRHoUYmI7b1zQXhaYSw8jnVvLkedykh+NpBQR1o2wCDaLyemoEnzow3kZg7fBD5drvgF9sQilfNJEBveg/mQU6Mox41QT4JMQzIpiFUFtHgpNGWqWHM32QpHXgcmCTo/ZOB+V5m43JfHnTRqQHqqWOlo8DGFAkPVF4HCzEsCcQRI6iOVRXWpeOJPNjcw6oQ==; 31:iMQ6u+W3Alr3YCzt98MNVsaoxXAbYkGzVB1AhLg6XKApaBjqIlcbJ5NkqIe1t9Few7FGWzjbu8dM3pfV4u7ZfUx9SEwMwR6LTURMMMtEMR5Kz7fV1uZiUN6RJqmkKzAKGBaN3r6+VjilMkJL9Hm3OVG3WbPDVGmd1mwbAsYBLRCQ15LxYQA6gR3ebgVEVrFi+Bd+APGYrz3rKockIa0dOFaaoEDaYyyGFTupVkqV954= X-MS-TrafficTypeDiagnostic: PS1PR0601MB1883: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1883; 20:+aaoTkJ+gW2A0IO/KvcG4ytzNOkIwaIlZZKio72NKor41SA+tKFkLndzlL7trAJu9tm978kolfBwL5qyo5rWlLIlD14sJZenUsF+gdc6EigH90XLjf0wvgKtZa5P5MAXeqQooIrt7Y/YjPfSdDHbIr2ZnaTaWfc6ofJLG4I/8rC5HsPk1Y1+uKjy0FswRNKhSp7+ttFsK6Bs1bHRzxslV8lIM8UlTUh8Aa5RUHN5hXe9dE/KeEO2r8p1UkX/Yx5rf73MO7/CiNcGBI6oRMjVvX91R6Q37lgj/mAnMvARWiC3ZCYA19v30KNm6SDLV2lfuKLKIWUhme8t7+TNHYG36fUmKXj3xFEa2s+kfZeYN1e24D/7k11pERY4PEmepl8xQrB/Jsi1+t7YMaRAQKERl5C1nrtZZOSG0GpfydPAxBrWT6Ngw0oC9CWWaMHtexlGuVDYawOq2nRKNxtcFQb6aAnjUC/a5NiqcysB6I33YjOQa1HfFfOddXYfj3UQgPu+; 4:JqevWfZ1Saznq56WJ0Pg6aPo4uOA0c+Bxq7ADZ1Ml7N6xwZOnqmQBfVTdrBFyzlcSwBkGB2IAsJu0u4zDhl8RXYBHMqk9b68dpAdurcSKIcQreZYq2PppLtNfgczIaarIywRSkvvKd+zI3m17zmPufeC4skXcJVnzPEX3odagC6lznSLW3Ozx1NGkrCOGGRs6DIuBsbvYJTF0sqlCf6tTe8osiRFjMzO/w6l4W2gjHc18dVrrMGSCUTFwKTPzJiyCodw3hIDqVyFiGDZZim7tukvZHlHVXn/iTp+KY2QRHWICFOAeTKPYVf9iC31+fmk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231023)(944501137)(10201501046)(3002001)(6055026)(6041268)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:PS1PR0601MB1883; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:PS1PR0601MB1883; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(39380400002)(346002)(39860400002)(366004)(396003)(199004)(189003)(305945005)(2950100002)(5660300001)(59450400001)(36756003)(6916009)(4326008)(25786009)(97736004)(52116002)(7696005)(69596002)(76176011)(83506002)(47776003)(2906002)(478600001)(6486002)(50466002)(6116002)(105586002)(58126008)(16586007)(3846002)(316002)(23726003)(8936002)(106356001)(54906003)(386003)(8676002)(81166006)(81156014)(86362001)(16526018)(53416004)(53936002)(66066001)(7736002)(68736007)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:PS1PR0601MB1883; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; PS1PR0601MB1883; 23:kDoih3GkIWvStSTtMTGsJsYrJkFnfXjMKv84PcM?= =?us-ascii?Q?7KKTJmApUQXrk+L1ju5uPTDevV6w6guCYYbK6Ztzox9+P+2EvF3MHfXpV6RJ?= =?us-ascii?Q?v9j6n0LPGhe+Wk19CUhWOoSKNuOA3uZwVEQSobz+8u1Ix1Xl5JIwrvmRD5Jr?= =?us-ascii?Q?c0hN9YonWSd9huEbp7V8vJSzEthl/swY8aF+DMj406pSpuAmT+ea6NhO8/qy?= =?us-ascii?Q?ZJF0j61HzaXAJlINeKdXnBsPMDlxSu55sFH0MH8TbInmWOe3TVlP8coMnVl+?= =?us-ascii?Q?0lEOirUbacjfbTkTC0CpTptBJAbeX/9oLPvSqU3uC41XhZkRx9X8GPb7LBXr?= =?us-ascii?Q?iG5zz3m57gSXkBcR05P668+c/A1erhEG1nrNjqQTJalck7KLurH3LvMe13Yt?= =?us-ascii?Q?wnJdQCwkNMAwyoti80e6EH0FxYYb15XCizFUxWB0/pNgCu2DB6gFItdL3prV?= =?us-ascii?Q?4HBvc/PM9jByd+qw89NYpEquXrc6+ridzALZwtUtM4YfWOu+40GT8bz6mcKc?= =?us-ascii?Q?IredfKLId+XABGLueOEi7nVjIMoebVOZWmPLIAlSTlAgnKyoXwPgehiUZzsn?= =?us-ascii?Q?zKOtAcwaQsQ3Q/fphCWoI3JPlJT1Z+v/ndig6aTr48G86ytqfvBBWR8gV8gP?= =?us-ascii?Q?w+j47QiGMEipt0SuJ3MntVjWIWsuRAM8UceAa+k+rEKHt+PZMf+ZvsJq2igd?= =?us-ascii?Q?vmdCCdNPqv018L7fKmc0jL0ojDggDpTJ2qeUrddHZP3C/B4SB6VEvIkYJHav?= =?us-ascii?Q?4N2z9XpfbbFcXGXCnmq+CTw9qIDd2lk+RUCVk/OYmL/m8o6ql0iidOQiKzBv?= =?us-ascii?Q?WwhLhbZC0BGrXUeu5OY9nABAujbkRD8QQte4HwZXIwVLZHutMEnxU+Ow8+Gz?= =?us-ascii?Q?4TidiGzxuii46bGegROe8gOfSBX28fYPUD4wB9ladnAQh8TMdY0M3nQOa8vd?= =?us-ascii?Q?KTBzs8IxuTQUfEyFjE7Ri7yswAGZ4uKxOdHmZSQGCP2DP5wfLfAkazMPpH+J?= =?us-ascii?Q?zqNmtc6bTSV7c0KG+r9goTwVT00eCIJSjGE+bn3vI4YdHv0Ujub8x+VQbx12?= =?us-ascii?Q?lBezaHrPFCxP7NHkTvQ2AyOwYQr3jOTQH46dWAUcjyHApM5vHvcOnQUdk8R6?= =?us-ascii?Q?/MaJMC8ONeGHNKpfszs01/2PN8vvLRyU/?= X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1883; 6:YCl202JqRJjWwx8OZUffXD5sFAFxAY2wXlf+gcTD6hEmteNFv35NGvIsDfKJlR0N/n0nB2vjYC5+8ajtGV6oPVihP6xhhBRx94I2rJeN7s1WKgJ7Aa27/cwy+eQJrumftAvX6EB74+pO1okZfPLwjR4Yyf2JDi4R2jOfldebH98TitZgt+sXrhurhTvaONE4wSmAfp7sgSnZXNi9qVStndhsO0hE24wmHZ8HahdXUQpIVVeDO+3iUPO7GDwBYTDftwr2/V8cwqXWlWS/j2XOIsDyrILQfL2NaS7yec66U+8gD9DqurQBHLRC6PfobRTN3Yi9ntUTU3c96fzMF5o0tx9DRvyQVgcY/H98Sc3XzZ4=; 5:diKX9FbUetx2v2LSISHcI5bthVrHpj+J4VLefHPBm9HGRMvdccg/FWjPYxMHAnk5Mo31JTmMV48QvU+OI62V7O4S1r9faY+X3RHrMgHNeFqKE9RCwBLMKIyFndbZlcVp7ASCjOR+p64qRTdG4Y5EEJr/1a4xdNIchdCarGUvIZ0=; 24:vx6l/MgyHZBocOV17fGiHibypgHs4F6Z98hkaX8KxjL9+Gp65Vo9e83H69+wz7CF1knHeDfFNVBqyU0S4qNVZpPVG7I5CSgKdg7k1gGFXZY=; 7:i5AhAu+Xbo3+OsBUF9KlIqaTrtWwJEafSMG6nAytM+/g7h3wMkCmcZgHcZuRZjGhSChQ+KUk8JkNyEU6VrmqspxsHibhfaLlo3S0mDpUmgIj3ib7oeyXnQE4wrfW5CKbFUTB2m3oVsPWIrJEkRhbzZVwBxV7ra59VNTgWHm33nS7A/kkenIlWceZAvWQRDsEpVMQ06mo+b/udUePGCd8ZmknCYgDU0sV4GQnl8brTiceIoYBAovkBPn17Y6oXn0A SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; PS1PR0601MB1883; 20:VEkoAhoimTzcnvX0SsrQNMjNDwRMBqe0S/T0+QU8xtSbYwXz9+r6O3UcDDZ7UT1g4DoZ8Bj44Gy4XccSOyDfgWlfDmgaETOs88WB/orglAQRfRpKmWX/kIs2JTFooru/NKWxG7xTD8pBx493snTVS+nFSx5wYNBFcBKrl8W6TXI= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 00:46:54.5860 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2f5f5140-d00c-42cd-f450-08d55955fa4d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: PS1PR0601MB1883 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 14/38] ASoC: amd: replace platform to 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 Now platform can be replaced to component, let's do it. Signed-off-by: Kuninori Morimoto Tested-by: Mukunda,Vijendar --- sound/soc/amd/acp-pcm-dma.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/sound/soc/amd/acp-pcm-dma.c b/sound/soc/amd/acp-pcm-dma.c index c33a512..78d7b62 100644 --- a/sound/soc/amd/acp-pcm-dma.c +++ b/sound/soc/amd/acp-pcm-dma.c @@ -23,6 +23,8 @@ #include #include "acp.h" +#define DRV_NAME "acp_audio_dma" + #define PLAYBACK_MIN_NUM_PERIODS 2 #define PLAYBACK_MAX_NUM_PERIODS 2 #define PLAYBACK_MAX_PERIOD_SIZE 16384 @@ -702,8 +704,8 @@ static int acp_dma_open(struct snd_pcm_substream *substream) int ret = 0; struct snd_pcm_runtime *runtime = substream->runtime; struct snd_soc_pcm_runtime *prtd = substream->private_data; - struct audio_drv_data *intr_data = dev_get_drvdata(prtd->platform->dev); - + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME); + struct audio_drv_data *intr_data = dev_get_drvdata(component->dev); struct audio_substream_data *adata = kzalloc(sizeof(struct audio_substream_data), GFP_KERNEL); if (adata == NULL) @@ -730,7 +732,7 @@ static int acp_dma_open(struct snd_pcm_substream *substream) ret = snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); if (ret < 0) { - dev_err(prtd->platform->dev, "set integer constraint failed\n"); + dev_err(component->dev, "set integer constraint failed\n"); kfree(adata); return ret; } @@ -778,7 +780,8 @@ static int acp_dma_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_runtime *runtime; struct audio_substream_data *rtd; struct snd_soc_pcm_runtime *prtd = substream->private_data; - struct audio_drv_data *adata = dev_get_drvdata(prtd->platform->dev); + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME); + struct audio_drv_data *adata = dev_get_drvdata(component->dev); runtime = substream->runtime; rtd = runtime->private_data; @@ -907,6 +910,7 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) struct snd_pcm_runtime *runtime = substream->runtime; struct snd_soc_pcm_runtime *prtd = substream->private_data; struct audio_substream_data *rtd = runtime->private_data; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME); if (!rtd) return -EINVAL; @@ -924,7 +928,7 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) while (acp_reg_read(rtd->acp_mmio, mmACP_DMA_CH_STS) & BIT(SYSRAM_TO_ACP_CH_NUM)) { if (!loops--) { - dev_err(prtd->platform->dev, + dev_err(component->dev, "acp dma start timeout\n"); return -ETIMEDOUT; } @@ -970,7 +974,8 @@ static int acp_dma_trigger(struct snd_pcm_substream *substream, int cmd) static int acp_dma_new(struct snd_soc_pcm_runtime *rtd) { int ret; - struct audio_drv_data *adata = dev_get_drvdata(rtd->platform->dev); + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct audio_drv_data *adata = dev_get_drvdata(component->dev); switch (adata->asic_type) { case CHIP_STONEY: @@ -987,7 +992,7 @@ static int acp_dma_new(struct snd_soc_pcm_runtime *rtd) break; } if (ret < 0) - dev_err(rtd->platform->dev, + dev_err(component->dev, "buffer preallocation failer error:%d\n", ret); return ret; } @@ -998,7 +1003,8 @@ static int acp_dma_close(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct audio_substream_data *rtd = runtime->private_data; struct snd_soc_pcm_runtime *prtd = substream->private_data; - struct audio_drv_data *adata = dev_get_drvdata(prtd->platform->dev); + struct snd_soc_component *component = snd_soc_rtdcom_lookup(prtd, DRV_NAME); + struct audio_drv_data *adata = dev_get_drvdata(component->dev); kfree(rtd); @@ -1044,7 +1050,8 @@ static int acp_dma_close(struct snd_pcm_substream *substream) .prepare = acp_dma_prepare, }; -static struct snd_soc_platform_driver acp_asoc_platform = { +static struct snd_soc_component_driver acp_asoc_platform = { + .name = DRV_NAME, .ops = &acp_dma_ops, .pcm_new = acp_dma_new, }; @@ -1102,7 +1109,8 @@ static int acp_audio_probe(struct platform_device *pdev) return status; } - status = snd_soc_register_platform(&pdev->dev, &acp_asoc_platform); + status = devm_snd_soc_register_component(&pdev->dev, + &acp_asoc_platform, NULL, 0); if (status != 0) { dev_err(&pdev->dev, "Fail to register ALSA platform device\n"); return status; @@ -1123,7 +1131,6 @@ static int acp_audio_remove(struct platform_device *pdev) status = acp_deinit(adata->acp_mmio); if (status) dev_err(&pdev->dev, "ACP Deinit failed status:%d\n", status); - snd_soc_unregister_platform(&pdev->dev); pm_runtime_disable(&pdev->dev); return 0;