From 79c90759481b30c23173e67d3d461c6135388b6b Mon Sep 17 00:00:00 2001 From: Sudheer Papothi Date: Tue, 23 Apr 2019 06:09:52 +0530 Subject: [PATCH] soundwire: Suppress errors due to unsupported slave functions Suppress the errors from the soundwire master runtime suspend and runtime resume, if the soundwire slave devices does not implement the functionality, that avoids pm runtime calling the runtime functions. Change-Id: I513a37f37e349a0c435295056df8625f284e13e6 Signed-off-by: Sudheer Papothi --- soc/swr-mstr-ctrl.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index bddf30a4e882..17fc1c67cfa8 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -2293,7 +2293,12 @@ static int swrm_runtime_resume(struct device *dev) enable_bank_switch(swrm, 0, SWR_ROW_50, SWR_MIN_COL); list_for_each_entry(swr_dev, &mstr->devices, dev_list) { ret = swr_device_up(swr_dev); - if (ret) { + if (ret == -ENODEV) { + dev_dbg(dev, + "%s slave device up not implemented\n", + __func__); + ret = 0; + } else if (ret) { dev_err(dev, "%s: failed to wakeup swr dev %d\n", __func__, swr_dev->dev_num); @@ -2358,7 +2363,12 @@ static int swrm_runtime_suspend(struct device *dev) swr_master_write(swrm, SWRM_COMP_CFG_ADDR, 0x00); list_for_each_entry(swr_dev, &mstr->devices, dev_list) { ret = swr_device_down(swr_dev); - if (ret) { + if (ret == -ENODEV) { + dev_dbg_ratelimited(dev, + "%s slave device down not implemented\n", + __func__); + ret = 0; + } else if (ret) { dev_err(dev, "%s: failed to shutdown swr dev %d\n", __func__, swr_dev->dev_num);