ASoC: arizona: Move notifier functions to header and make inline
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Thu, 10 Nov 2016 15:24:14 +0000 (15:24 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 10 Nov 2016 16:20:24 +0000 (16:20 +0000)
These functions are very thin wrappers around core functions, so they
make sense as inline functions.  Also making them inline avoids build
issues in the case where the machine driver is built in but the CODEC
is built as a module.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/arizona.c
sound/soc/codecs/arizona.h

index 99ce6a0e73de9a7c37c002d1a2ae7551d641c132..ca5ca9eac272cabac38144fc3523e9dd87f2d444 100644 (file)
@@ -2691,30 +2691,6 @@ int arizona_lhpf_coeff_put(struct snd_kcontrol *kcontrol,
 }
 EXPORT_SYMBOL_GPL(arizona_lhpf_coeff_put);
 
-int arizona_register_notifier(struct snd_soc_codec *codec,
-                             struct notifier_block *nb,
-                             int (*notify)(struct notifier_block *nb,
-                                           unsigned long action, void *data))
-{
-       struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
-       struct arizona *arizona = priv->arizona;
-
-       nb->notifier_call = notify;
-
-       return blocking_notifier_chain_register(&arizona->notifier, nb);
-}
-EXPORT_SYMBOL_GPL(arizona_register_notifier);
-
-int arizona_unregister_notifier(struct snd_soc_codec *codec,
-                               struct notifier_block *nb)
-{
-       struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
-       struct arizona *arizona = priv->arizona;
-
-       return blocking_notifier_chain_unregister(&arizona->notifier, nb);
-}
-EXPORT_SYMBOL_GPL(arizona_unregister_notifier);
-
 MODULE_DESCRIPTION("ASoC Wolfson Arizona class device support");
 MODULE_AUTHOR("Mark Brown <broonie@opensource.wolfsonmicro.com>");
 MODULE_LICENSE("GPL");
index 34d65d1eafba586a1b6dbb5add534aa0ce88cc5b..813f1cdb565dda473ad8b438095ffe186799eb59 100644 (file)
@@ -14,6 +14,8 @@
 #define _ASOC_ARIZONA_H
 
 #include <linux/completion.h>
+#include <linux/notifier.h>
+#include <linux/mfd/arizona/core.h>
 
 #include <sound/soc.h>
 
@@ -66,7 +68,6 @@
 /* Notifier events */
 #define ARIZONA_NOTIFY_VOICE_TRIGGER   0x1
 
-struct arizona;
 struct wm_adsp;
 
 struct arizona_dai_priv {
@@ -329,12 +330,27 @@ extern bool arizona_input_analog(struct snd_soc_codec *codec, int shift);
 
 extern const char *arizona_sample_rate_val_to_name(unsigned int rate_val);
 
-extern int arizona_register_notifier(struct snd_soc_codec *codec,
-                                    struct notifier_block *nb,
-                                    int (*notify)(struct notifier_block *nb,
-                                                  unsigned long action,
-                                                  void *data));
-extern int arizona_unregister_notifier(struct snd_soc_codec *codec,
-                                      struct notifier_block *nb);
+static inline int arizona_register_notifier(struct snd_soc_codec *codec,
+                                           struct notifier_block *nb,
+                                           int (*notify)
+                                           (struct notifier_block *nb,
+                                           unsigned long action, void *data))
+{
+       struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct arizona *arizona = priv->arizona;
+
+       nb->notifier_call = notify;
+
+       return blocking_notifier_chain_register(&arizona->notifier, nb);
+}
+
+static inline int arizona_unregister_notifier(struct snd_soc_codec *codec,
+                                             struct notifier_block *nb)
+{
+       struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
+       struct arizona *arizona = priv->arizona;
+
+       return blocking_notifier_chain_unregister(&arizona->notifier, nb);
+}
 
 #endif