All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rakesh Ughreja <rakesh.a.ughreja@intel.com>
To: alsa-devel@alsa-project.org, broonie@kernel.org, tiwai@suse.de,
	liam.r.girdwood@linux.intel.com
Cc: vinod.koul@intel.com, patches.audio@intel.com,
	Rakesh Ughreja <rakesh.a.ughreja@intel.com>,
	pierre-louis.bossart@linux.intel.com
Subject: [RFC v3 05/11] ALSA: hda - make some of the functions externally visible
Date: Fri, 15 Dec 2017 17:00:42 +0530	[thread overview]
Message-ID: <1513337448-31685-6-git-send-email-rakesh.a.ughreja@intel.com> (raw)
In-Reply-To: <1513337448-31685-1-git-send-email-rakesh.a.ughreja@intel.com>

Mark some functions with EXPORT_SYMBOL_GPL so that it can be called by
other kernel modules. Move the probe function into generic driver.
These APIs would be called by ASoC based HDA codec driver which will be
added in the later patches.

Signed-off-by: Rakesh Ughreja <rakesh.a.ughreja@intel.com>
---
 sound/pci/hda/hda_bind.c    | 10 +++++-----
 sound/pci/hda/hda_codec.c   |  9 +++++++--
 sound/pci/hda/hda_codec.h   |  6 ++++++
 sound/pci/hda/hda_generic.c | 13 +++++++++++++
 4 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/sound/pci/hda/hda_bind.c b/sound/pci/hda/hda_bind.c
index d361bb7..d8715a1 100644
--- a/sound/pci/hda/hda_bind.c
+++ b/sound/pci/hda/hda_bind.c
@@ -149,8 +149,8 @@ static void hda_codec_driver_shutdown(struct device *dev)
 		codec->patch_ops.reboot_notify(codec);
 }
 
-int __hda_codec_driver_register(struct hda_codec_driver *drv, const char *name,
-			       struct module *owner)
+int __hda_legacy_codec_driver_register(struct hda_codec_driver *drv,
+					const char *name, struct module *owner)
 {
 	drv->core.driver.name = name;
 	drv->core.driver.owner = owner;
@@ -164,13 +164,13 @@ int __hda_codec_driver_register(struct hda_codec_driver *drv, const char *name,
 	drv->core.unsol_event = hda_codec_unsol_event;
 	return driver_register(&drv->core.driver);
 }
-EXPORT_SYMBOL_GPL(__hda_codec_driver_register);
+EXPORT_SYMBOL_GPL(__hda_legacy_codec_driver_register);
 
-void hda_codec_driver_unregister(struct hda_codec_driver *drv)
+void hda_legacy_codec_driver_unregister(struct hda_codec_driver *drv)
 {
 	driver_unregister(&drv->core.driver);
 }
-EXPORT_SYMBOL_GPL(hda_codec_driver_unregister);
+EXPORT_SYMBOL_GPL(hda_legacy_codec_driver_unregister);
 
 static inline bool codec_probed(struct hda_codec *codec)
 {
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index e018ecb..085fd9e 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2903,7 +2903,7 @@ static void hda_call_codec_resume(struct hda_codec *codec)
 	atomic_dec(&codec->core.in_pm);
 }
 
-static int hda_codec_runtime_suspend(struct device *dev)
+int hda_codec_runtime_suspend(struct device *dev)
 {
 	struct hda_codec *codec = dev_to_hda_codec(dev);
 	struct hda_pcm *pcm;
@@ -2919,8 +2919,9 @@ static int hda_codec_runtime_suspend(struct device *dev)
 	snd_hdac_link_power(&codec->core, false);
 	return 0;
 }
+EXPORT_SYMBOL_GPL(hda_codec_runtime_suspend);
 
-static int hda_codec_runtime_resume(struct device *dev)
+int hda_codec_runtime_resume(struct device *dev)
 {
 	struct hda_codec *codec = dev_to_hda_codec(dev);
 
@@ -2930,6 +2931,7 @@ static int hda_codec_runtime_resume(struct device *dev)
 	pm_runtime_mark_last_busy(dev);
 	return 0;
 }
+EXPORT_SYMBOL_GPL(hda_codec_runtime_resume);
 #endif /* CONFIG_PM */
 
 /* referred in hda_bind.c */
@@ -3005,6 +3007,7 @@ int snd_hda_codec_build_controls(struct hda_codec *codec)
 	sync_power_up_states(codec);
 	return 0;
 }
+EXPORT_SYMBOL_GPL(snd_hda_codec_build_controls);
 
 /*
  * PCM stuff
@@ -3210,6 +3213,7 @@ int snd_hda_codec_parse_pcms(struct hda_codec *codec)
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(snd_hda_codec_parse_pcms);
 
 /* assign all PCMs of the given codec */
 int snd_hda_codec_build_pcms(struct hda_codec *codec)
@@ -3246,6 +3250,7 @@ int snd_hda_codec_build_pcms(struct hda_codec *codec)
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(snd_hda_codec_build_pcms);
 
 /**
  * snd_hda_add_new_ctls - create controls from the array
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 681c360..ef626cf 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -99,6 +99,10 @@ struct hda_codec_driver {
 	const struct hda_device_id *id;
 };
 
+int __hda_legacy_codec_driver_register(struct hda_codec_driver *drv,
+				const char *name, struct module *owner);
+void hda_legacy_codec_driver_unregister(struct hda_codec_driver *drv);
+
 int __hda_codec_driver_register(struct hda_codec_driver *drv, const char *name,
 			       struct module *owner);
 #define hda_codec_driver_register(drv) \
@@ -497,6 +501,8 @@ int hda_call_check_power_status(struct hda_codec *codec, hda_nid_t nid)
 #ifdef CONFIG_PM
 void snd_hda_set_power_save(struct hda_bus *bus, int delay);
 void snd_hda_update_power_acct(struct hda_codec *codec);
+int hda_codec_runtime_suspend(struct device *dev);
+int hda_codec_runtime_resume(struct device *dev);
 #else
 static inline void snd_hda_set_power_save(struct hda_bus *bus, int delay) {}
 #endif
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 5cc6509..09ab02e 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -5961,6 +5961,19 @@ static int snd_hda_parse_generic_codec(struct hda_codec *codec)
 	return err;
 }
 
+int __hda_codec_driver_register(struct hda_codec_driver *drv, const char *name,
+			       struct module *owner)
+{
+	return __hda_legacy_codec_driver_register(drv, name, owner);
+}
+EXPORT_SYMBOL_GPL(__hda_codec_driver_register);
+
+void hda_codec_driver_unregister(struct hda_codec_driver *drv)
+{
+	hda_legacy_codec_driver_unregister(drv);
+}
+EXPORT_SYMBOL_GPL(hda_codec_driver_unregister);
+
 static const struct hda_device_id snd_hda_id_generic[] = {
 	HDA_CODEC_ENTRY(HDA_CODEC_ID_GENERIC, "Generic", snd_hda_parse_generic_codec),
 	{} /* terminator */
-- 
2.7.4

  parent reply	other threads:[~2017-12-15 11:26 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-15 11:30 [RFC v3 00/11] Enable HDA Codec support on Intel Platforms (Series2) Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 01/11] ASoC: Intel: Boards: Machine driver for Intel platforms Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 02/11] ASoC: Intel: Skylake: Add entry in sst_acpi_mach for HDA codecs Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 03/11] ASoC: Intel: Skylake: add HDA BE DAIs Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 04/11] ASoC: Intel: Skylake: use hda_bus instead of hdac_bus Rakesh Ughreja
2017-12-15 11:30 ` Rakesh Ughreja [this message]
2017-12-15 11:34   ` [RFC v3 05/11] ALSA: hda - make some of the functions externally visible Takashi Iwai
2017-12-15 11:30 ` [RFC v3 06/11] ASoC: hdac_hda: add ASoC based HDA codec driver Rakesh Ughreja
2017-12-15 11:38   ` Takashi Iwai
2017-12-15 12:20     ` Ughreja, Rakesh A
2017-12-15 15:47       ` Takashi Iwai
2017-12-16  7:48         ` Ughreja, Rakesh A
2017-12-16  9:13           ` Takashi Iwai
2017-12-18  4:06             ` Ughreja, Rakesh A
2017-12-19  9:19               ` Ughreja, Rakesh A
2017-12-19 11:27                 ` Takashi Iwai
2017-12-19 15:26                   ` Ughreja, Rakesh A
2017-12-19 15:40                     ` Takashi Iwai
2017-12-19 16:14                       ` Ughreja, Rakesh A
2017-12-19 16:23                         ` Takashi Iwai
2017-12-19 17:12                           ` Ughreja, Rakesh A
2017-12-19 19:17                             ` Takashi Iwai
2017-12-20 10:26                               ` Mark Brown
2017-12-20 10:52                                 ` Ughreja, Rakesh A
2017-12-21 15:36                                   ` Ughreja, Rakesh A
2017-12-21 15:48                                     ` Takashi Iwai
2017-12-21 16:39                                       ` Ughreja, Rakesh A
2017-12-21 16:44                                         ` Takashi Iwai
2017-12-22 12:51                                           ` Ughreja, Rakesh A
2017-12-15 11:30 ` [RFC v3 07/11] ALSA: hda: split API snd_hda_codec_new for using it from ASoC codec drivers Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 08/11] ASoC: hdac_hda: add DAI, widgets and related ops Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 09/11] ASoC: hdac_hda: add runtime PM support Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 10/11] ASoC: codec: Support for ASoC Realtek HDA codec Driver Rakesh Ughreja
2017-12-15 11:30 ` [RFC v3 11/11] ASoC: Intel: Boards: add support for HDA codecs Rakesh Ughreja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1513337448-31685-6-git-send-email-rakesh.a.ughreja@intel.com \
    --to=rakesh.a.ughreja@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=patches.audio@intel.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.