From patchwork Wed Oct 2 05:33:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 11170423 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8C6E01920 for ; Wed, 2 Oct 2019 06:07:23 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2143921D7B for ; Wed, 2 Oct 2019 06:07:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="Oa4iIr2e" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2143921D7B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=renesas.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 60BDF16BE; Wed, 2 Oct 2019 07:47:35 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 60BDF16BE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1569995305; bh=eWL9wVHzjxoKH5UWvUvfDwSVYID6CS970HgZxgnD8ds=; h=Date:From:To:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=Oa4iIr2e7eJ2Z79HBXHDEpD2biK2M2e5PvkXraIfMJUfd9Rs2n+b/leA5Rm0PHlWd 1NKH7jDZ117xze3PkT1Kkdu3kyLESGkgb+BFH9XLUefzOdvBk+0jzuw5EmdVN6oTNr vJSeI2znRSPdL/JB04/FSCPmKou0GVyhTmH3ZAkY= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id D136FF807B6; Wed, 2 Oct 2019 07:33:21 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa1.perex.cz (Postfix, from userid 50401) id B7C25F80859; Wed, 2 Oct 2019 07:33:20 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on alsa1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.0 Received: from relmlie5.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa1.perex.cz (Postfix) with ESMTP id E1B01F807CA for ; Wed, 2 Oct 2019 07:33:17 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz E1B01F807CA Date: 02 Oct 2019 14:33:16 +0900 X-IronPort-AV: E=Sophos;i="5.64,573,1559487600"; d="scan'208";a="28076343" Received: from unknown (HELO relmlir5.idc.renesas.com) ([10.200.68.151]) by relmlie5.idc.renesas.com with ESMTP; 02 Oct 2019 14:33:16 +0900 Received: from morimoto-PC.renesas.com (unknown [10.166.18.140]) by relmlir5.idc.renesas.com (Postfix) with ESMTP id AEDFF4007F28; Wed, 2 Oct 2019 14:33:16 +0900 (JST) Message-ID: <87wodn90f7.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 To: Mark Brown In-Reply-To: <87v9t7af54.wl-kuninori.morimoto.gx@renesas.com> References: <87v9t7af54.wl-kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Cc: Linux-ALSA Subject: [alsa-devel] [PATCH 23/44] ASoC: sh: siu_pcm: remove snd_pcm_ops X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 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" From: Kuninori Morimoto snd_pcm_ops is no longer needed. Let's use component driver callback. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/siu_pcm.c | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c index 78c3145..a5e21e5 100644 --- a/sound/soc/sh/siu_pcm.c +++ b/sound/soc/sh/siu_pcm.c @@ -281,7 +281,8 @@ static int siu_pcm_stmread_stop(struct siu_port *port_info) return 0; } -static int siu_pcm_hw_params(struct snd_pcm_substream *ss, +static int siu_pcm_hw_params(struct snd_soc_component *component, + struct snd_pcm_substream *ss, struct snd_pcm_hw_params *hw_params) { struct siu_info *info = siu_i2s_data; @@ -297,7 +298,8 @@ static int siu_pcm_hw_params(struct snd_pcm_substream *ss, return ret; } -static int siu_pcm_hw_free(struct snd_pcm_substream *ss) +static int siu_pcm_hw_free(struct snd_soc_component *component, + struct snd_pcm_substream *ss) { struct siu_info *info = siu_i2s_data; struct siu_port *port_info = siu_port_info(ss); @@ -324,11 +326,10 @@ static bool filter(struct dma_chan *chan, void *slave) return true; } -static int siu_pcm_open(struct snd_pcm_substream *ss) +static int siu_pcm_open(struct snd_soc_component *component, + struct snd_pcm_substream *ss) { /* Playback / Capture */ - struct snd_soc_pcm_runtime *rtd = ss->private_data; - struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME); struct siu_platform *pdata = component->dev->platform_data; struct siu_info *info = siu_i2s_data; struct siu_port *port_info = siu_port_info(ss); @@ -367,7 +368,8 @@ static int siu_pcm_open(struct snd_pcm_substream *ss) return 0; } -static int siu_pcm_close(struct snd_pcm_substream *ss) +static int siu_pcm_close(struct snd_soc_component *component, + struct snd_pcm_substream *ss) { struct siu_info *info = siu_i2s_data; struct device *dev = ss->pcm->card->dev; @@ -389,7 +391,8 @@ static int siu_pcm_close(struct snd_pcm_substream *ss) return 0; } -static int siu_pcm_prepare(struct snd_pcm_substream *ss) +static int siu_pcm_prepare(struct snd_soc_component *component, + struct snd_pcm_substream *ss) { struct siu_info *info = siu_i2s_data; struct siu_port *port_info = siu_port_info(ss); @@ -435,7 +438,8 @@ static int siu_pcm_prepare(struct snd_pcm_substream *ss) return 0; } -static int siu_pcm_trigger(struct snd_pcm_substream *ss, int cmd) +static int siu_pcm_trigger(struct snd_soc_component *component, + struct snd_pcm_substream *ss, int cmd) { struct siu_info *info = siu_i2s_data; struct device *dev = ss->pcm->card->dev; @@ -477,7 +481,9 @@ static int siu_pcm_trigger(struct snd_pcm_substream *ss, int cmd) * So far only resolution of one period is supported, subject to extending the * dmangine API */ -static snd_pcm_uframes_t siu_pcm_pointer_dma(struct snd_pcm_substream *ss) +static snd_pcm_uframes_t +siu_pcm_pointer_dma(struct snd_soc_component *component, + struct snd_pcm_substream *ss) { struct device *dev = ss->pcm->card->dev; struct siu_info *info = siu_i2s_data; @@ -512,7 +518,8 @@ static snd_pcm_uframes_t siu_pcm_pointer_dma(struct snd_pcm_substream *ss) return bytes_to_frames(ss->runtime, ptr); } -static int siu_pcm_new(struct snd_soc_pcm_runtime *rtd) +static int siu_pcm_new(struct snd_soc_component *component, + struct snd_soc_pcm_runtime *rtd) { /* card->dev == socdev->dev, see snd_soc_new_pcms() */ struct snd_card *card = rtd->card->snd_card; @@ -558,7 +565,8 @@ static int siu_pcm_new(struct snd_soc_pcm_runtime *rtd) return 0; } -static void siu_pcm_free(struct snd_pcm *pcm) +static void siu_pcm_free(struct snd_soc_component *component, + struct snd_pcm *pcm) { struct platform_device *pdev = to_platform_device(pcm->card->dev); struct siu_port *port_info = siu_ports[pdev->id]; @@ -571,21 +579,17 @@ static void siu_pcm_free(struct snd_pcm *pcm) dev_dbg(pcm->card->dev, "%s\n", __func__); } -static const struct snd_pcm_ops siu_pcm_ops = { +struct const snd_soc_component_driver siu_component = { + .name = DRV_NAME, .open = siu_pcm_open, .close = siu_pcm_close, - .ioctl = snd_pcm_lib_ioctl, + .ioctl = snd_soc_pcm_lib_ioctl, .hw_params = siu_pcm_hw_params, .hw_free = siu_pcm_hw_free, .prepare = siu_pcm_prepare, .trigger = siu_pcm_trigger, .pointer = siu_pcm_pointer_dma, -}; - -struct snd_soc_component_driver siu_component = { - .name = DRV_NAME, - .ops = &siu_pcm_ops, - .pcm_new = siu_pcm_new, - .pcm_free = siu_pcm_free, + .pcm_construct = siu_pcm_new, + .pcm_destruct = siu_pcm_free, }; EXPORT_SYMBOL_GPL(siu_component);