mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
ASoC: wm8994: Push wm8994 private data allocation out into device probe
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
fe4085e84f
commit
2bc16ed8e0
@ -3472,23 +3472,16 @@ static irqreturn_t wm8994_temp_shut(int irq, void *data)
|
|||||||
static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
static int wm8994_codec_probe(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
struct wm8994 *control = dev_get_drvdata(codec->dev->parent);
|
struct wm8994 *control = dev_get_drvdata(codec->dev->parent);
|
||||||
struct wm8994_priv *wm8994;
|
struct wm8994_priv *wm8994 = snd_soc_codec_get_drvdata(codec);
|
||||||
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
||||||
unsigned int reg;
|
unsigned int reg;
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
|
wm8994->codec = codec;
|
||||||
codec->control_data = control->regmap;
|
codec->control_data = control->regmap;
|
||||||
|
|
||||||
wm8994 = devm_kzalloc(codec->dev, sizeof(struct wm8994_priv),
|
|
||||||
GFP_KERNEL);
|
|
||||||
if (wm8994 == NULL)
|
|
||||||
return -ENOMEM;
|
|
||||||
snd_soc_codec_set_drvdata(codec, wm8994);
|
|
||||||
|
|
||||||
snd_soc_codec_set_cache_io(codec, 16, 16, SND_SOC_REGMAP);
|
snd_soc_codec_set_cache_io(codec, 16, 16, SND_SOC_REGMAP);
|
||||||
|
|
||||||
wm8994->wm8994 = dev_get_drvdata(codec->dev->parent);
|
|
||||||
wm8994->pdata = dev_get_platdata(codec->dev->parent);
|
|
||||||
wm8994->codec = codec;
|
wm8994->codec = codec;
|
||||||
|
|
||||||
mutex_init(&wm8994->accdet_lock);
|
mutex_init(&wm8994->accdet_lock);
|
||||||
@ -3953,6 +3946,17 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8994 = {
|
|||||||
|
|
||||||
static int __devinit wm8994_probe(struct platform_device *pdev)
|
static int __devinit wm8994_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
struct wm8994_priv *wm8994;
|
||||||
|
|
||||||
|
wm8994 = devm_kzalloc(&pdev->dev, sizeof(struct wm8994_priv),
|
||||||
|
GFP_KERNEL);
|
||||||
|
if (wm8994 == NULL)
|
||||||
|
return -ENOMEM;
|
||||||
|
platform_set_drvdata(pdev, wm8994);
|
||||||
|
|
||||||
|
wm8994->wm8994 = dev_get_drvdata(pdev->dev.parent);
|
||||||
|
wm8994->pdata = dev_get_platdata(pdev->dev.parent);
|
||||||
|
|
||||||
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8994,
|
return snd_soc_register_codec(&pdev->dev, &soc_codec_dev_wm8994,
|
||||||
wm8994_dai, ARRAY_SIZE(wm8994_dai));
|
wm8994_dai, ARRAY_SIZE(wm8994_dai));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user