From patchwork Wed Aug 30 17:57:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 111331 Delivered-To: patch@linaro.org Received: by 10.140.95.112 with SMTP id h103csp1308250qge; Wed, 30 Aug 2017 10:57:11 -0700 (PDT) X-Google-Smtp-Source: ADKCNb5bQvYNuxALIB2NtkJTR3nLigtuMyXaL1H0u/NpGpDuNEx51uQWULNt1ldSlrzU0ppqxBiH X-Received: by 10.223.167.138 with SMTP id j10mr1505848wrc.107.1504115831605; Wed, 30 Aug 2017 10:57:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1504115831; cv=none; d=google.com; s=arc-20160816; b=jtyVwU4tTywOF7sY9IBa8QA1U0r0itCnbSkLzj7pGD3GpNyUg/DgpiCt+WNHXRqCtt i73pX4vdyqX600yW5oJvtl6XZGKRNlYvZ51nxMpwAxN0OCumvmEe8RVP+hqI9C1882Wm 4lJwlXPI2ZEJ5NzkzCETiHDeai1iSDvcMFgJQzJ/BqE3CpeDkyB8ftw3rsXpeR8rIqo2 pRjlTFMTQUoUbeqSX3gL6I8UnV/eDT6kQ18MK22aF6OUfQ+IKY/xFXpY8STKY/gOfzj8 nAZKVoTSvcn17dR2lsxFjx3RBANJJe8oVST/tsBZaqWn2OPwE5GyqoNJjlG/2o66iKLd X90w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=eZ5NujbUdsbauHcYzwdThSFrETHYTCgBisr8txJLWgQ=; b=G0tylOWInsGKB+9ef+DNC2AjmHwdhC8ssiQvetjbTBVkicI7GWBDDZh3WTJpZbbajL FjehN1+D7r+lWYYiBWKfrEZYaqav0o3pTV8+5Y5zCXy8Dzkgy2RkZi4hc/54M2RZpNcl N/pXOt5ALr/9zxtQZGDr4IdbVF3qdIm+BPbCxBOtludijWnmQ3d+bsc5lZVbtNUVaCpy oX0kG2Y53q4IrZLJbYgfuKdAxKYr9XMJHd+p7z48c8QnunLdbJmyqshM7VtzUVrz0G0l JlHIh5Gx2pMDivdM/LXK4sxGZkdY5aNffqZ6x2qC4xOS+YrnLVYcOw5lNolOT/iZ+GO0 0aLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=JZt/JmM/; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id p6si4497019wrd.432.2017.08.30.10.57.10; Wed, 30 Aug 2017 10:57:11 -0700 (PDT) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=JZt/JmM/; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 0C095266C5E; Wed, 30 Aug 2017 19:57:09 +0200 (CEST) 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 BFA2E2671BA; Wed, 30 Aug 2017 19:57:07 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, RP_MATCHES_RCVD, SPF_PASS, URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk [172.104.155.198]) by alsa0.perex.cz (Postfix) with ESMTP id 8C0022669DB for ; Wed, 30 Aug 2017 19:57:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=1jcvmXSBBrI3VUWRglAspWME7vTBFk3MKWu3XIQNqlM=; b=JZt/JmM/CopL 77v1se53OAF0+XZK0L1AH9WDMxK2NNuK9GTK7BlAudz3uBUOgQyQE28l0EwSI9P2RJxRmi84QBcpx +ngF/7EnOETDtcik8b0O4+kEf8+DZ/cAf2oblYW41zi7nd2AZH1+1pogkufWfesqHAGzN8KFIltwi gbpww=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1dn7Ec-0007K9-Dn; Wed, 30 Aug 2017 17:57:02 +0000 Received: from broonie by debutante with local (Exim 4.89) (envelope-from ) id 1dn7Ea-00016n-Uz; Wed, 30 Aug 2017 18:57:00 +0100 From: Mark Brown To: Kuninori Morimoto In-Reply-To: Message-Id: Date: Wed, 30 Aug 2017 18:57:00 +0100 Cc: alsa-devel@alsa-project.org, Mark Brown Subject: [alsa-devel] Applied "ASoC: add Component level set_jack" to the asoc tree 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: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch ASoC: add Component level set_jack has been applied to the asoc tree at git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >From 880f02224c624fa2d6e4f8b2d37410fdc98b35fe Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Thu, 24 Aug 2017 00:58:07 +0000 Subject: [PATCH] ASoC: add Component level set_jack In current ALSA SoC, Codec only has set_jack feature. Codec will be merged into Component in next generation ALSA SoC, thus current Codec specific feature need to be merged into it. This is glue patch for it. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown --- include/sound/soc.h | 4 ++++ sound/soc/soc-core.c | 11 +++++++++++ sound/soc/soc-jack.c | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) -- 2.14.1 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/include/sound/soc.h b/include/sound/soc.h index 02a510183ab4..18676ab4f87c 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -810,6 +810,8 @@ struct snd_soc_component_driver { int clk_id, int source, unsigned int freq, int dir); int (*set_pll)(struct snd_soc_component *component, int pll_id, int source, unsigned int freq_in, unsigned int freq_out); + int (*set_jack)(struct snd_soc_component *component, + struct snd_soc_jack *jack, void *data); /* DT */ int (*of_xlate_dai_name)(struct snd_soc_component *component, @@ -892,6 +894,8 @@ struct snd_soc_component { int clk_id, int source, unsigned int freq, int dir); int (*set_pll)(struct snd_soc_component *component, int pll_id, int source, unsigned int freq_in, unsigned int freq_out); + int (*set_jack)(struct snd_soc_component *component, + struct snd_soc_jack *jack, void *data); /* machine specific init */ int (*init)(struct snd_soc_component *component); diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 299d23e832ea..78b8886a26d6 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3227,6 +3227,7 @@ static int snd_soc_component_initialize(struct snd_soc_component *component, component->pcm_free = component->driver->pcm_free; component->set_sysclk = component->driver->set_sysclk; component->set_pll = component->driver->set_pll; + component->set_jack = component->driver->set_jack; dapm = &component->dapm; dapm->dev = dev; @@ -3650,6 +3651,14 @@ static int snd_soc_codec_set_pll_(struct snd_soc_component *component, return snd_soc_codec_set_pll(codec, pll_id, source, freq_in, freq_out); } +static int snd_soc_codec_set_jack_(struct snd_soc_component *component, + struct snd_soc_jack *jack, void *data) +{ + struct snd_soc_codec *codec = snd_soc_component_to_codec(component); + + return snd_soc_codec_set_jack(codec, jack, data); +} + static int snd_soc_codec_set_bias_level(struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level) { @@ -3705,6 +3714,8 @@ int snd_soc_register_codec(struct device *dev, codec->component.set_sysclk = snd_soc_codec_set_sysclk_; if (codec_drv->set_pll) codec->component.set_pll = snd_soc_codec_set_pll_; + if (codec_drv->set_jack) + codec->component.set_jack = snd_soc_codec_set_jack_; codec->component.ignore_pmdown_time = codec_drv->ignore_pmdown_time; dapm = snd_soc_codec_get_dapm(codec); diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index 7daf21fee355..2f9f496ab14f 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c @@ -40,6 +40,28 @@ int snd_soc_codec_set_jack(struct snd_soc_codec *codec, } EXPORT_SYMBOL_GPL(snd_soc_codec_set_jack); +/** + * snd_soc_component_set_jack - configure component jack. + * @component: COMPONENTs + * @jack: structure to use for the jack + * @data: can be used if codec driver need extra data for configuring jack + * + * Configures and enables jack detection function. + */ +int snd_soc_component_set_jack(struct snd_soc_component *component, + struct snd_soc_jack *jack, void *data) +{ + /* will be removed */ + if (component->set_jack) + return component->set_jack(component, jack, data); + + if (component->driver->set_jack) + return component->driver->set_jack(component, jack, data); + + return -ENOTSUPP; +} +EXPORT_SYMBOL_GPL(snd_soc_component_set_jack); + /** * snd_soc_card_jack_new - Create a new jack * @card: ASoC card