ASoC: Add snd_soc_codec_{readable,writable}_register()
Provide the top level ASoC core functions for indicating whether a given register is readable or writable. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
committed by
Mark Brown
parent
8020454c9a
commit
239c970626
@@ -278,6 +278,10 @@ int snd_soc_register_codec(struct device *dev,
|
|||||||
void snd_soc_unregister_codec(struct device *dev);
|
void snd_soc_unregister_codec(struct device *dev);
|
||||||
int snd_soc_codec_volatile_register(struct snd_soc_codec *codec,
|
int snd_soc_codec_volatile_register(struct snd_soc_codec *codec,
|
||||||
unsigned int reg);
|
unsigned int reg);
|
||||||
|
int snd_soc_codec_readable_register(struct snd_soc_codec *codec,
|
||||||
|
unsigned int reg);
|
||||||
|
int snd_soc_codec_writable_register(struct snd_soc_codec *codec,
|
||||||
|
unsigned int reg);
|
||||||
int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
|
int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
|
||||||
int addr_bits, int data_bits,
|
int addr_bits, int data_bits,
|
||||||
enum snd_soc_control_type control);
|
enum snd_soc_control_type control);
|
||||||
|
@@ -2146,6 +2146,42 @@ int snd_soc_codec_volatile_register(struct snd_soc_codec *codec,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register);
|
EXPORT_SYMBOL_GPL(snd_soc_codec_volatile_register);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* snd_soc_codec_readable_register: Report if a register is readable.
|
||||||
|
*
|
||||||
|
* @codec: CODEC to query.
|
||||||
|
* @reg: Register to query.
|
||||||
|
*
|
||||||
|
* Boolean function indicating if a CODEC register is readable.
|
||||||
|
*/
|
||||||
|
int snd_soc_codec_readable_register(struct snd_soc_codec *codec,
|
||||||
|
unsigned int reg)
|
||||||
|
{
|
||||||
|
if (codec->readable_register)
|
||||||
|
return codec->readable_register(codec, reg);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(snd_soc_codec_readable_register);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* snd_soc_codec_writable_register: Report if a register is writable.
|
||||||
|
*
|
||||||
|
* @codec: CODEC to query.
|
||||||
|
* @reg: Register to query.
|
||||||
|
*
|
||||||
|
* Boolean function indicating if a CODEC register is writable.
|
||||||
|
*/
|
||||||
|
int snd_soc_codec_writable_register(struct snd_soc_codec *codec,
|
||||||
|
unsigned int reg)
|
||||||
|
{
|
||||||
|
if (codec->writable_register)
|
||||||
|
return codec->writable_register(codec, reg);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(snd_soc_codec_writable_register);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* snd_soc_new_ac97_codec - initailise AC97 device
|
* snd_soc_new_ac97_codec - initailise AC97 device
|
||||||
* @codec: audio codec
|
* @codec: audio codec
|
||||||
|
Reference in New Issue
Block a user