From patchwork Fri Jan 12 00:48:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10158943 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 EC9AF602A7 for ; Fri, 12 Jan 2018 00:50:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D0BA528A1F for ; Fri, 12 Jan 2018 00:50:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CF14728997; Fri, 12 Jan 2018 00:50:27 +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 8D6C1289B0 for ; Fri, 12 Jan 2018 00:50:13 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 45CF12679E8; Fri, 12 Jan 2018 01:50:12 +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 BEB6A267A37; Fri, 12 Jan 2018 01:50:10 +0100 (CET) Received: from relmlie2.idc.renesas.com (relmlor3.renesas.com [210.160.252.173]) by alsa0.perex.cz (Postfix) with ESMTP id DF4CE2679E8 for ; Fri, 12 Jan 2018 01:48:40 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie2.idc.renesas.com with ESMTP; 12 Jan 2018 09:48:38 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id E8D636BB10; Fri, 12 Jan 2018 09:48:38 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.46,346,1511794800"; d="scan'208";a="268003194" Received: from mail-pu1apc01lp0016.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.16]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Jan 2018 09:48:38 +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=95aAm/LCqFi13OcfDv9wCYBsoxtjdXk0JisvzDBxeiU=; b=ZAAgh2bWfiPTXGbGBfB3ykwb9r+vQTt+0EmsT8Z9VmdjQ5wo/Fo+UAkOr/R5VB8fZ1VWb/i9oYINMSxb2b7oR4UJ50viphRZcuDaIVcA2X1BuYaO69NMqsP3jH6DDvnBxSFrd8z0P2D6icsFTTanlh2XxtjhHO0dHQ/ASrXixQg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.138) by SG2PR0601MB1886.apcprd06.prod.outlook.com (2603:1096:3:9::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Fri, 12 Jan 2018 00:48:36 +0000 Message-ID: <87373bgaxq.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:48:36 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0197.jpnprd01.prod.outlook.com (2603:1096:403::27) To SG2PR0601MB1886.apcprd06.prod.outlook.com (2603:1096:3:9::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9cb32d74-6862-4950-e751-08d559563728 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:SG2PR0601MB1886; X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1886; 3:CvpR8zoH6RscmTswqQVs3Z+2j7lCWdmWs0y9t9ScZma5L7c7KzvEBEOapgjdyjcuvZtvzyVSWUfsVPRH59R7rifVY46FmS/4Yq+mlfPXA88oqeJ9e61uUjEvD1bYda7ywLc+Rg5PwjsNrhnbGlpf/0UnGtWzJAN5zgfko1BdU/W7pd5WQbsl8QJAF6ROHEsIpeAaMucFzbPYGMMUR/VBgeK2hHowFElKONkINax4wTy46OBzhwMqXtHvWQeOBGXw; 25:hTtxgj14oZT40lNpiPAqWptmlwuT3njceZtqW+mKYUREg6nlohHzOkhSJBtAectTsa6BwIJoSC6/SFJ7vWUa2SGhQVJoGqfNmJQ4qCXsMPN4ISDJnqHIDwI8rp083oJBDxThqg6FCFTaOCLxSyGRPT+7Y8qR+TTbfrQ/TJoDwKOd00Fqxl5v+JKbWpXPgHCp00gEQLy8VslEpUy0H1NEK31BuokqBUkQdrcxoG81E9mWjnrLSDO26DjnxqzqnfSPqz7Q10kowG0H/t8MpKZKa52/heNVHk/SGou5+l8IOCuXjGFKWN1dMvizv8AQx1P1sH+YtUn58GNG5Osan07c4Q==; 31:fNVIGIE3fcZroh42oWwpKedgA4j0jAYm/xlQwxK1uw6Z+GvrQZJqkPzO3Sf3VgAKKYtBkdkjT9oJgNIVZ/9fkEPKi9zSfmRv0bxfYLGRjhbc2UFLF8XcmzTxu00TSkx+m1Hw51WOfaXRp6tgtO6Q2AH+ylA6yFwgr45DtCwmGQf66uZK/VNZLxgYJ688a6APQ+ssMmGBDOwJy9SlmAHofYdoUE4ocx5cVkVpBEuLGV4= X-MS-TrafficTypeDiagnostic: SG2PR0601MB1886: X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1886; 20:TMyCjTQeTZfiFfoucnZD5Swz7nSxTqaZw1ID1NgmsWhXCDtZTXLIGZcNNh8965mU8J9+GhbIruLAWzNxUG8CVqE2amoxOGTwcuKSiUhNtCsH8i6yoEXkHRVdKcegHIElVgooLzSSzjWeeLMWE63Z64Bk+QnSozMV7kSAlAStYxFwb3AMbWrG1GkyE8V5zvPJXxYVaEeKKaD5I5crP226Zumz2WRmh84T6glTh3jZvfNsaEoXIxJ3jlBMXA73zlEOsQ2/xbNI2/KE7nm3pTuXssv7cv9xcCarnLwTJ88E98RCaWDqRIELQtGDy2rvQy39ZPDxgy7Fxkd/806sUAJe68EfFyZ955dQvJ8HzmQQ1INH4UQdk09lbkqu2NZfts/CrqQ9a1Mu9bSdozEv3+iI5XtR3MCFm3zqOMiRGiNz6+KoxKBvapBR+YIGwCzTBirOITCwcSJdyszedOFPnnQByDECCv8oE4w4+ehhVoPW2o0DW9yM5LH6HYWs7EPqMQ0h; 4:gaMpiNrLqandQrHV6JW/u2AJicaW/xTUrP2+Pc+Mrx2dwm3SeRomRLxmaO9Cie5UZVqToSpfCWCWAyH1X1P0n4zvFedk9wtiW8adsu0cigVokA45xBlnKTYg8ZviU9eTf9NyaCXhW/5BM95Z7EVfkw+4faZlJDTEnnkM0WzruzvOutEAkIfbdMSU0vZIQob4ij1Qf2YtKUCD8kMkXtE/F054RTnJtQTRf2WceYdDNuEW4EWnYrDcyUWRSyAiYLlNMRQmTC2GXoYXspeCFv1e3ssSYh7DaImv8v50MN4L+JlSh67X8kf0exdRhTbSPzCq 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)(3002001)(3231023)(944501075)(10201501046)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:SG2PR0601MB1886; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:SG2PR0601MB1886; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39380400002)(366004)(39860400002)(376002)(346002)(396003)(189003)(199004)(16526018)(47776003)(25786009)(4326008)(478600001)(53416004)(66066001)(69596002)(7736002)(53936002)(83506002)(6486002)(50466002)(8676002)(86362001)(7696005)(81156014)(52116002)(106356001)(76176011)(36756003)(68736007)(59450400001)(386003)(5660300001)(97736004)(105586002)(6116002)(305945005)(8936002)(23726003)(58126008)(2950100002)(81166006)(3846002)(6916009)(316002)(16586007)(2906002)(54906003)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR0601MB1886; 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) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SG2PR0601MB1886; 23:emXtwc0lTWrjY1I8TsqT5rV8jOzl1+PVgcnnivu?= =?us-ascii?Q?8eNkhBu2XYZRJuLz4fuA5EkwznpmJR8fDtgUQMbx1jPjOEOuCJMlelFvZdEE?= =?us-ascii?Q?IC87HO4989+HK98OiJESlDZE2PZIjBqrCEhhq8Ceb/NMJ9iuZ32zKjSh8IM2?= =?us-ascii?Q?6mt+vXL/9H22891da9sUlCe4jw/VtEi/TSBwc7UJvrMj/pUzANuMzo7NBf1V?= =?us-ascii?Q?WwMaffFoUIB01CgTTxcuWPC58dH8s5H+GYd4o2cgRuO4DIljYhYVsrUDx9uR?= =?us-ascii?Q?v+hTzbIR69NbanrdcNnJTPSIqGwa2aDu667Fey6v+u0VbgstYiiD8+4InRtc?= =?us-ascii?Q?Qc2NQJhH7CneGa/1/HzROOUgE2/8ghoT5/FScYpwi6/bsVzYR/Bei0vME6Mq?= =?us-ascii?Q?/FsSD0SMO/vh4kYFRMX/J8Rxre442ExNKfTM9np0Lj3JnW+jyGr3agQ6OTcZ?= =?us-ascii?Q?V5vgiUPFdsCEISOyWoL4ps1NdTXFx+S5mGib3nWSBjq+8+BGMaRJ/T73mIaa?= =?us-ascii?Q?t6KsS/C6dncn4eHuA3E2Qt0T38sKn5fp3VYhu9r6xns8/WtKC//D4J868Ljn?= =?us-ascii?Q?dS8ngMD31XDTjxrGMHZDPnTzUy5A1cbZaYJ35uIQWQSSsm2hvydNAhZwQov7?= =?us-ascii?Q?af8+2z6eptVEkVqjExAhQ3vNz2/RKS3Z8Y2m3xEreFVPq9TxZ5WT/hrLUz3K?= =?us-ascii?Q?Qonu/TTne/IpTRBG80H9WRIz4piAXsoUHfRTgJMQPDJ6S1IWf3rXVHPoffkm?= =?us-ascii?Q?W+EvdNyAT2XDiKQ21HpJchv75m8Pbcqbz5V7pQ8zJq+Z/LrvXxOwumUi836Y?= =?us-ascii?Q?Qv7p4uS6s2/sDWfS80SFUkgyyggsrhoBeWAGCTjQ0glWoDLEn+55ajEtsv2R?= =?us-ascii?Q?WAJd84MyQtW+Edb5toIyiLhYSuPHe5lehLATuoxHokypRVOAWf7Cew+FvXPT?= =?us-ascii?Q?4Fnyb0QwrsEqLoJLwYjovwY43dSYX7xKdU9oBZCRHrnfprFXbxtYA+/GxYWQ?= =?us-ascii?Q?+FeN2AY4opliZaZs7tr6HVl3LEvd0uHPe1FZYyyRJstOMNDfXp6Tz2UwqTdZ?= =?us-ascii?Q?F/ronQnZsfXajebE3jVFdimG8Pn6a7oZWBFkYLlAFXUIs7Sm1uj5Ouqox2jx?= =?us-ascii?Q?WyYIxfDSdXHB05bvghKiKZwGDjd7IUQx6?= X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1886; 6:bGNMkmR4us50wGYb/G/zBnAbWlZYLkjtEFRCyPPSBZEazStTbqfcPk3hh/UxE68zHDswb8q/yrvAaAh8WLMnM/9yxbV4J3Onx6OxlV0CNeLyzZZALqEef9Ib2dMXu2T9nFcODmEtKQn+iFHKglHnvHjw25ScYWWauqXFy8o7w5dpAmqoxJVvH1fuXAsJ51ELFXXbqIW/KnjdLfLnocB17KKBi/L8lFINqSFwD0RSaIOHzDZ3+R1KNBwLOYPahLIeJhb7oOWx0BqVubAE8Mnnyybo3UxVyutSim6pEKXx/IcvTMBTQHZnPQD2mEqBPk4w1STY7ynOKq9lf5CpWkkSCqBDB1tj5QSAQeWBFlztCBk=; 5:ddmjBvKUND9py3aYSeRrEe5zHzQnx7TWJyPx4pFYfabm5C7O3SDESnD0R2bfXuVKZ3dfHBZ5pfg7mTGG7Pc76DRXB67rN9yGZveZG+YyJHYSvOA+4MX09SCKU4eJytyN820OMaRmGYwslGUsyPnzxMTzcWpiAOAW3B8sC1TrL8A=; 24:Fx9ly38T5nLUe1h+nxNetdyaUithj1Yw395HmNO9cpJfCxPTpBSVAEfQEEnxHKA65dP2jI39VBiOfMhUAdjIiGbL16MoOUIZk1JImLa3Cvo=; 7:qJCoEQDsCMasssoYLW2nAmVPWPxxge5UyHYvYbLJ2NykOplSWHIh3lPRm5sdTVqxJBF6l/HF+8jAi6/SJyuRPdRbUfqKx++gfuUWG9vaUzWjsz0XJlCCZ+V2tZuYXjO0cEMGhQ+cf1BgTxoTBdzWuoQGvwQoZaJnKjJ1HCQRYE91nzZcMwWPvhsDCAu4dZwlWn7iBz9pKHlj/JxZ8R3vLR3r+Cr0ctt+iQ1X2ruq1WAqKktejMo8He1yxjk2Mpwr SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR0601MB1886; 20:0lDP1lp4TP5rD4mFKp1vVrCoT5zGJh28lCu1nOKttjuWhsQTuMMvSoDrTikUwv0cP/1W/h+pKmk6CSYaM3GW1VCb3/yhFhQNtLxFFYn2/HIwd3CnOsMqeDv3ED19/C/r0XjAQ/HB7N2bTEO2Dp8MVQB5xTQLm5ZTL+Rt4lp2fkg= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 00:48:36.6061 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9cb32d74-6862-4950-e751-08d559563728 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR0601MB1886 Cc: Linux-ALSA , Simon Subject: [alsa-devel] [PATCH 20/38] ASoC: fsl: dma: 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 --- sound/soc/fsl/fsl_dma.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c index 0c11f43..1f20d9f 100644 --- a/sound/soc/fsl/fsl_dma.c +++ b/sound/soc/fsl/fsl_dma.c @@ -37,6 +37,8 @@ #include "fsl_dma.h" #include "fsl_ssi.h" /* For the offset of stx0 and srx0 */ +#define DRV_NAME "fsl_dma" + /* * The formats that the DMA controller supports, which is anything * that is 8, 16, or 32 bits. @@ -56,7 +58,7 @@ SNDRV_PCM_FMTBIT_U32_LE | \ SNDRV_PCM_FMTBIT_U32_BE) struct dma_object { - struct snd_soc_platform_driver dai; + struct snd_soc_component_driver dai; dma_addr_t ssi_stx_phys; dma_addr_t ssi_srx_phys; unsigned int ssi_fifo_depth; @@ -203,7 +205,8 @@ static irqreturn_t fsl_dma_isr(int irq, void *dev_id) struct fsl_dma_private *dma_private = dev_id; struct snd_pcm_substream *substream = dma_private->substream; struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct device *dev = rtd->platform->dev; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct device *dev = component->dev; struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel; irqreturn_t ret = IRQ_NONE; u32 sr, sr2 = 0; @@ -385,9 +388,10 @@ static int fsl_dma_open(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct device *dev = rtd->platform->dev; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct device *dev = component->dev; struct dma_object *dma = - container_of(rtd->platform->driver, struct dma_object, dai); + container_of(component->driver, struct dma_object, dai); struct fsl_dma_private *dma_private; struct ccsr_dma_channel __iomem *dma_channel; dma_addr_t ld_buf_phys; @@ -539,7 +543,8 @@ static int fsl_dma_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_runtime *runtime = substream->runtime; struct fsl_dma_private *dma_private = runtime->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct device *dev = rtd->platform->dev; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct device *dev = component->dev; /* Number of bits per sample */ unsigned int sample_bits = @@ -702,7 +707,8 @@ static snd_pcm_uframes_t fsl_dma_pointer(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct fsl_dma_private *dma_private = runtime->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct device *dev = rtd->platform->dev; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct device *dev = component->dev; struct ccsr_dma_channel __iomem *dma_channel = dma_private->dma_channel; dma_addr_t position; snd_pcm_uframes_t frames; @@ -799,9 +805,10 @@ static int fsl_dma_close(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct fsl_dma_private *dma_private = runtime->private_data; struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct device *dev = rtd->platform->dev; + struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct device *dev = component->dev; struct dma_object *dma = - container_of(rtd->platform->driver, struct dma_object, dai); + container_of(component->driver, struct dma_object, dai); if (dma_private) { if (dma_private->irq) @@ -908,6 +915,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev) return -ENOMEM; } + dma->dai.name = DRV_NAME; dma->dai.ops = &fsl_dma_ops; dma->dai.pcm_new = fsl_dma_new; dma->dai.pcm_free = fsl_dma_free_dma_buffers; @@ -925,7 +933,7 @@ static int fsl_soc_dma_probe(struct platform_device *pdev) of_node_put(ssi_np); - ret = snd_soc_register_platform(&pdev->dev, &dma->dai); + ret = devm_snd_soc_register_component(&pdev->dev, &dma->dai, NULL, 0); if (ret) { dev_err(&pdev->dev, "could not register platform\n"); kfree(dma); @@ -944,7 +952,6 @@ static int fsl_soc_dma_remove(struct platform_device *pdev) { struct dma_object *dma = dev_get_drvdata(&pdev->dev); - snd_soc_unregister_platform(&pdev->dev); iounmap(dma->channel); irq_dispose_mapping(dma->irq); kfree(dma);