From d1d594749325328e72dd61bff1dbd43108d17d27 Mon Sep 17 00:00:00 2001 From: Shengjiu Wang Date: Wed, 5 Jun 2019 10:46:25 +0800 Subject: MLK-21940-4: ASoC: fsl_easrc: Support the m2m function EASRC M2M function is not able to put upstream due to its self-designed ioctl protocol. So make a single patch for it and make it merge into P2P driver as simply as possible. The patch can only be maintained internally unless some one designs a new protocol or implement the originally protocol by using some common approach provided by Linux Kernel. Signed-off-by: Shengjiu Wang Reviewed-by: Daniel Baluta Reviewed-by: Viorel Suman --- sound/soc/fsl/fsl_easrc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sound/soc/fsl/fsl_easrc.c') diff --git a/sound/soc/fsl/fsl_easrc.c b/sound/soc/fsl/fsl_easrc.c index 074e0ba96bd3..859827517797 100644 --- a/sound/soc/fsl/fsl_easrc.c +++ b/sound/soc/fsl/fsl_easrc.c @@ -2133,6 +2133,8 @@ static const struct regmap_config fsl_easrc_regmap_config = { .cache_type = REGCACHE_RBTREE, }; +#include "fsl_easrc_m2m.c" + void easrc_dump_firmware(struct fsl_easrc *easrc) { struct device *dev = &easrc->pdev->dev; @@ -2332,6 +2334,12 @@ static int fsl_easrc_probe(struct platform_device *pdev) return ret; } + ret = fsl_easrc_m2m_init(easrc); + if (ret) { + dev_err(&pdev->dev, "failed to init m2m device %d\n", ret); + return ret; + } + ret = of_property_read_string(np, "fsl,easrc-ram-script-name", &easrc->fw_name); @@ -2445,6 +2453,8 @@ static int fsl_easrc_suspend(struct device *dev) struct fsl_easrc *easrc = dev_get_drvdata(dev); int ret; + fsl_easrc_m2m_suspend(easrc); + ret = pm_runtime_force_suspend(dev); return ret; @@ -2457,6 +2467,8 @@ static int fsl_easrc_resume(struct device *dev) ret = pm_runtime_force_resume(dev); + fsl_easrc_m2m_resume(easrc); + return ret; } #endif /*CONFIG_PM_SLEEP*/ -- cgit v1.2.3