ASoC: Add card driver data
Mark Brown [Fri, 28 Jan 2011 13:11:47 +0000 (13:11 +0000)]
Provide driver data for cards within the card structure. To simplify the
implementation of the PM operations we don't use the struct device driver
data as this is used by the core to retrieve the card in callbacks from
the device model and PM core.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>

include/sound/soc.h

index 7ecdaef..4b6c0a8 100644 (file)
@@ -705,6 +705,8 @@ struct snd_soc_card {
        struct dentry *debugfs_pop_time;
 #endif
        u32 pop_time;
+
+       void *drvdata;
 };
 
 /* SoC machine DAI configuration, glues a codec and cpu DAI together */
@@ -756,6 +758,17 @@ unsigned int snd_soc_write(struct snd_soc_codec *codec,
 
 /* device driver data */
 
+static inline void snd_soc_card_set_drvdata(struct snd_soc_card *card,
+               void *data)
+{
+       card->drvdata = data;
+}
+
+static inline void *snd_soc_card_get_drvdata(struct snd_soc_card *card)
+{
+       return card->drvdata;
+}
+
 static inline void snd_soc_codec_set_drvdata(struct snd_soc_codec *codec,
                void *data)
 {