ASoC: Intel: Use acpi_dev_present()
Subsystems (3)
v2 cover ASoC: Intel: Use acpi_dev_present()
Hi Mark,
the acpi_dev_present() API has now landed in Linus' tree. Thus, after Linus' tree gets merged back into yours, it would be possible to use the API in the ASoC drivers as per the following patch.
I've also pushed it to GitHub in case anyone prefers perusing it in a browser:
https://github.com/l1k/linux/commit/f9011bb760cf5296474191406116e989dd292bf0
v1 of this patch was originally submitted with:
Message-Id: <b7bd5f48fd254fb743b99d5c3e63f95ea8dfd8a7.1448282995.git.lukas@wunner.de>
Thanks,
Lukas
Lukas Wunner (1):
ASoC: Intel: Use acpi_dev_present()
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 17 ++--------------- sound/soc/intel/boards/cht_bsw_rt5645.c | 13 +------------ sound/soc/intel/common/sst-match-acpi.c | 16 +--------------- 3 files changed, 4 insertions(+), 42 deletions(-)
Signature · 1 line
1.8.5.2 (Apple Git-48)
PATCH v2 1/1 ASoC: Intel: Use acpi_dev_present()
Use shiny new acpi_dev_present() and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf. 2d12b6b381ba ("ACPI / utils: Add acpi_dev_present()").
v2: Rebase on commit 95f098014815 ("ASoC: Intel: Move apci find
machine routines").
--- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 17 ++--------------- sound/soc/intel/boards/cht_bsw_rt5645.c | 13 +------------ sound/soc/intel/common/sst-match-acpi.c | 16 +--------------- 3 files changed, 4 insertions(+), 42 deletions(-)
sound/soc/intel/boards/cht_bsw_max98090_ti.c +2 -15
@@ -287,33 +287,20 @@ static struct snd_soc_card snd_soc_card_cht = { .num_controls = ARRAY_SIZE(cht_mc_controls), }; -static acpi_status snd_acpi_codec_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -static int snd_cht_mc_probe (struct platform_device *pdev) {int ret_val =0 ; -bool found = false;struct cht_mc_private *drv; drv =devm_kzalloc (&pdev->dev,sizeof (*drv),GFP_ATOMIC );if (!drv)return -ENOMEM ; -if (ACPI_SUCCESS (acpi_get_devices ( -"104C227E" , - snd_acpi_codec_match, - &found,NULL )) && found) { - drv->ts3a227e_present = true; - }else { + drv->ts3a227e_present =acpi_dev_present ("104C227E" ); +if (!drv->ts3a227e_present) {/* no need probe TI jack detection chip */ snd_soc_card_cht.aux_dev =NULL ; snd_soc_card_cht.num_aux_devs =0 ; - drv->ts3a227e_present = false; }/* register the soc card */
sound/soc/intel/boards/cht_bsw_rt5645.c +1 -12
@@ -333,20 +333,12 @@ static struct cht_acpi_card snd_soc_cards[] = { {"10EC5650", CODEC_TYPE_RT5650, &snd_soc_card_chtrt5650}, }; -static acpi_status snd_acpi_codec_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -static int snd_cht_mc_probe (struct platform_device *pdev) {int ret_val =0 ;int i;struct cht_mc_private *drv;struct snd_soc_card *card = snd_soc_cards[0 ].soc_card; -bool found = false;char codec_name[16 ]; drv =devm_kzalloc (&pdev->dev,sizeof (*drv),GFP_ATOMIC );
@@ -354,10 +346,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)return -ENOMEM ;for (i =0 ; i <ARRAY_SIZE (snd_soc_cards); i++) { -if (ACPI_SUCCESS (acpi_get_devices ( - snd_soc_cards[i].codec_id, - snd_acpi_codec_match, - &found,NULL )) && found) { +if (acpi_dev_present (snd_soc_cards[i].codec_id)) {dev_dbg (&pdev->dev,"found codec %s\n" , snd_soc_cards[i].codec_id); card = snd_soc_cards[i].soc_card;
sound/soc/intel/common/sst-match-acpi.c +1 -15
@@ -13,29 +13,15 @@* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ -#include <linux/acpi.h> -#include <linux/device.h> -#include <linux/module.h> -#include <linux/platform_device.h> #include "sst-acpi.h" -static acpi_status sst_acpi_mach_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -struct sst_acpi_mach *sst_acpi_find_machine (struct sst_acpi_mach *machines) {struct sst_acpi_mach *mach; -bool found = false;for (mach = machines; mach->id[0 ]; mach++) -if (ACPI_SUCCESS (acpi_get_devices (mach->id, - sst_acpi_mach_match, - &found,NULL )) && found) +if (acpi_dev_present (mach->id))return mach;return NULL ;
Signature · 1 line
1.8.5.2 (Apple Git-48)
Quoted 4 lines · Lukas Wunner
Use shiny new
acpi_dev_present()and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf.2d12b6b381ba("ACPI / utils: Addacpi_dev_present()").
Quoted 8 lines
v2: Rebase on commit
95f098014815("ASoC: Intel: Move apci find
machine routines").Cc Mark Brown <[email protected]>Cc Vinod Koul <[email protected]>Cc Fang, Yang A <[email protected]>Cc Pierre-Louis Bossart <[email protected]>Signed-off-by Lukas Wunner <[email protected]>
Looks good to me but would like to test it, so once-rc1 is out, will test that and come back
Signature · 1 line
~Vinod
Mark Brown
maintainerQuoted 6 lines · Lukas Wunner
Use shiny new
acpi_dev_present()and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf.2d12b6b381ba("ACPI / utils: Addacpi_dev_present()").v2: Rebase on commit
95f098014815("ASoC: Intel: Move apci find
machine routines").
As covered in SubmittingPatches don't include inter-version changelogs in the body of your commit log, put them after the ---. They are meaningless once the change is applied without the rest of the history.
Hi Mark,
Quoted 11 lines · Mark Brown
Quoted 6 lines · Lukas Wunner
Use shiny new
acpi_dev_present()and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf.2d12b6b381ba("ACPI / utils: Addacpi_dev_present()").v2: Rebase on commit
95f098014815("ASoC: Intel: Move apci find
machine routines").As covered in SubmittingPatches don't include inter-version changelogs in the body of your commit log, put them after the ---. They are meaningless once the change is applied without the rest of the history.
I'm used to the drm and drm-intel practice of including the changelog in the commit message, but will remember to move it to the git notes when posting to alsa-devel in the future.
Thanks,
Lukas
Mark Brown
maintainerQuoted 9 lines · Lukas Wunner
Quoted 3 lines · Mark Brown
As covered in SubmittingPatches don't include inter-version changelogs in the body of your commit log, put them after the ---. They are meaningless once the change is applied without the rest of the history.
I'm used to the drm and drm-intel practice of including the changelog in the commit message, but will remember to move it to the git notes when posting to alsa-devel in the future.
drm is pretty much the only subsystem that does that.
Mark Brown
maintainerApplied "ASoC: Intel: Use acpi_dev_present()" to the asoc tree
In reply to Lukas WunnerThe patch
ASoC: Intel: Use acpi_dev_present()
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
Quoted 1 line
From
6f08cbdaac5a3050ea1898aef8ce326030fd1117Mon Sep 17 00:00:00 2001
From: Lukas Wunner <[email protected]>
Date: Thu, 14 Jan 2016 21:57:20 +0100
Subject: [PATCH] ASoC: Intel: Use acpi_dev_present()
Use shiny new acpi_dev_present() and remove all the boilerplate to search for a particular ACPI device. No functional change. Cf. 2d12b6b381ba ("ACPI / utils: Add acpi_dev_present()").
--- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 17 ++--------------- sound/soc/intel/boards/cht_bsw_rt5645.c | 13 +------------ sound/soc/intel/common/sst-match-acpi.c | 16 +--------------- 3 files changed, 4 insertions(+), 42 deletions(-)
sound/soc/intel/boards/cht_bsw_max98090_ti.c +2 -15
@@ -287,33 +287,20 @@ static struct snd_soc_card snd_soc_card_cht = { .num_controls = ARRAY_SIZE(cht_mc_controls), }; -static acpi_status snd_acpi_codec_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -static int snd_cht_mc_probe (struct platform_device *pdev) {int ret_val =0 ; -bool found = false;struct cht_mc_private *drv; drv =devm_kzalloc (&pdev->dev,sizeof (*drv),GFP_ATOMIC );if (!drv)return -ENOMEM ; -if (ACPI_SUCCESS (acpi_get_devices ( -"104C227E" , - snd_acpi_codec_match, - &found,NULL )) && found) { - drv->ts3a227e_present = true; - }else { + drv->ts3a227e_present =acpi_dev_present ("104C227E" ); +if (!drv->ts3a227e_present) {/* no need probe TI jack detection chip */ snd_soc_card_cht.aux_dev =NULL ; snd_soc_card_cht.num_aux_devs =0 ; - drv->ts3a227e_present = false; }/* register the soc card */
sound/soc/intel/boards/cht_bsw_rt5645.c +1 -12
@@ -333,20 +333,12 @@ static struct cht_acpi_card snd_soc_cards[] = { {"10EC5650", CODEC_TYPE_RT5650, &snd_soc_card_chtrt5650}, }; -static acpi_status snd_acpi_codec_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -static int snd_cht_mc_probe (struct platform_device *pdev) {int ret_val =0 ;int i;struct cht_mc_private *drv;struct snd_soc_card *card = snd_soc_cards[0 ].soc_card; -bool found = false;char codec_name[16 ]; drv =devm_kzalloc (&pdev->dev,sizeof (*drv),GFP_ATOMIC );
@@ -354,10 +346,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)return -ENOMEM ;for (i =0 ; i <ARRAY_SIZE (snd_soc_cards); i++) { -if (ACPI_SUCCESS (acpi_get_devices ( - snd_soc_cards[i].codec_id, - snd_acpi_codec_match, - &found,NULL )) && found) { +if (acpi_dev_present (snd_soc_cards[i].codec_id)) {dev_dbg (&pdev->dev,"found codec %s\n" , snd_soc_cards[i].codec_id); card = snd_soc_cards[i].soc_card;
sound/soc/intel/common/sst-match-acpi.c +1 -15
@@ -13,29 +13,15 @@* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ -#include <linux/acpi.h> -#include <linux/device.h> -#include <linux/module.h> -#include <linux/platform_device.h> #include "sst-acpi.h" -static acpi_status sst_acpi_mach_match (acpi_handle handle,u32 level, -void *context,void **ret) -{ - *(bool *)context = true; -return AE_OK ; -} -struct sst_acpi_mach *sst_acpi_find_machine (struct sst_acpi_mach *machines) {struct sst_acpi_mach *mach; -bool found = false;for (mach = machines; mach->id[0 ]; mach++) -if (ACPI_SUCCESS (acpi_get_devices (mach->id, - sst_acpi_mach_match, - &found,NULL )) && found) +if (acpi_dev_present (mach->id))return mach;return NULL ;
Signature · 1 line
2.7.0.rc3