linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next] soundwire: intel: Remove ununsed function
@ 2020-09-09 13:15 YueHaibing
  2020-09-09 13:46 ` Pierre-Louis Bossart
  2020-09-10  7:29 ` [PATCH -next] soundwire: intel: Fix -Wunused-function warning YueHaibing
  0 siblings, 2 replies; 4+ messages in thread
From: YueHaibing @ 2020-09-09 13:15 UTC (permalink / raw)
  To: vkoul, yung-chuan.liao, pierre-louis.bossart, sanyog.r.kale
  Cc: alsa-devel, linux-kernel, YueHaibing

If CONFIG_PM is not set, build warns:

drivers/soundwire/intel.c:488:12: warning: 'intel_link_power_down' defined but not used [-Wunused-function]

Move this to #ifdef block.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/soundwire/intel.c | 137 +++++++++++++++++++-------------------
 1 file changed, 68 insertions(+), 69 deletions(-)

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index e047910d73f5..ea53291c80dd 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -399,27 +399,6 @@ static void intel_shim_glue_to_master_ip(struct sdw_intel *sdw)
 	/* at this point Master IP has full control of the I/Os */
 }
 
-/* this needs to be called with shim_lock */
-static void intel_shim_master_ip_to_glue(struct sdw_intel *sdw)
-{
-	unsigned int link_id = sdw->instance;
-	void __iomem *shim = sdw->link_res->shim;
-	u16 ioctl;
-
-	/* Glue logic */
-	ioctl = intel_readw(shim, SDW_SHIM_IOCTL(link_id));
-	ioctl |= SDW_SHIM_IOCTL_BKE;
-	ioctl |= SDW_SHIM_IOCTL_COE;
-	intel_writew(shim, SDW_SHIM_IOCTL(link_id), ioctl);
-	usleep_range(10, 15);
-
-	ioctl &= ~(SDW_SHIM_IOCTL_MIF);
-	intel_writew(shim, SDW_SHIM_IOCTL(link_id), ioctl);
-	usleep_range(10, 15);
-
-	/* at this point Integration Glue has full control of the I/Os */
-}
-
 static int intel_shim_init(struct sdw_intel *sdw, bool clock_stop)
 {
 	void __iomem *shim = sdw->link_res->shim;
@@ -485,54 +464,6 @@ static void intel_shim_wake(struct sdw_intel *sdw, bool wake_enable)
 	mutex_unlock(sdw->link_res->shim_lock);
 }
 
-static int intel_link_power_down(struct sdw_intel *sdw)
-{
-	u32 link_control, spa_mask, cpa_mask;
-	unsigned int link_id = sdw->instance;
-	void __iomem *shim = sdw->link_res->shim;
-	u32 *shim_mask = sdw->link_res->shim_mask;
-	int ret = 0;
-
-	mutex_lock(sdw->link_res->shim_lock);
-
-	intel_shim_master_ip_to_glue(sdw);
-
-	if (!(*shim_mask & BIT(link_id)))
-		dev_err(sdw->cdns.dev,
-			"%s: Unbalanced power-up/down calls\n", __func__);
-
-	*shim_mask &= ~BIT(link_id);
-
-	if (!*shim_mask) {
-
-		dev_dbg(sdw->cdns.dev, "%s: powering down all links\n", __func__);
-
-		/* Link power down sequence */
-		link_control = intel_readl(shim, SDW_SHIM_LCTL);
-
-		/* only power-down enabled links */
-		spa_mask = FIELD_PREP(SDW_SHIM_LCTL_SPA_MASK, ~sdw->link_res->link_mask);
-		cpa_mask = FIELD_PREP(SDW_SHIM_LCTL_CPA_MASK, sdw->link_res->link_mask);
-
-		link_control &=  spa_mask;
-
-		ret = intel_clear_bit(shim, SDW_SHIM_LCTL, link_control, cpa_mask);
-	}
-
-	link_control = intel_readl(shim, SDW_SHIM_LCTL);
-
-	mutex_unlock(sdw->link_res->shim_lock);
-
-	if (ret < 0) {
-		dev_err(sdw->cdns.dev, "%s: could not power down link\n", __func__);
-
-		return ret;
-	}
-
-	sdw->cdns.link_up = false;
-	return 0;
-}
-
 static void intel_shim_sync_arm(struct sdw_intel *sdw)
 {
 	void __iomem *shim = sdw->link_res->shim;
@@ -1541,6 +1472,74 @@ int intel_master_process_wakeen_event(struct platform_device *pdev)
  */
 
 #ifdef CONFIG_PM
+/* this needs to be called with shim_lock */
+static void intel_shim_master_ip_to_glue(struct sdw_intel *sdw)
+{
+	unsigned int link_id = sdw->instance;
+	void __iomem *shim = sdw->link_res->shim;
+	u16 ioctl;
+
+	/* Glue logic */
+	ioctl = intel_readw(shim, SDW_SHIM_IOCTL(link_id));
+	ioctl |= SDW_SHIM_IOCTL_BKE;
+	ioctl |= SDW_SHIM_IOCTL_COE;
+	intel_writew(shim, SDW_SHIM_IOCTL(link_id), ioctl);
+	usleep_range(10, 15);
+
+	ioctl &= ~(SDW_SHIM_IOCTL_MIF);
+	intel_writew(shim, SDW_SHIM_IOCTL(link_id), ioctl);
+	usleep_range(10, 15);
+
+	/* at this point Integration Glue has full control of the I/Os */
+}
+
+static int intel_link_power_down(struct sdw_intel *sdw)
+{
+	u32 link_control, spa_mask, cpa_mask;
+	unsigned int link_id = sdw->instance;
+	void __iomem *shim = sdw->link_res->shim;
+	u32 *shim_mask = sdw->link_res->shim_mask;
+	int ret = 0;
+
+	mutex_lock(sdw->link_res->shim_lock);
+
+	intel_shim_master_ip_to_glue(sdw);
+
+	if (!(*shim_mask & BIT(link_id)))
+		dev_err(sdw->cdns.dev,
+			"%s: Unbalanced power-up/down calls\n", __func__);
+
+	*shim_mask &= ~BIT(link_id);
+
+	if (!*shim_mask) {
+
+		dev_dbg(sdw->cdns.dev, "%s: powering down all links\n", __func__);
+
+		/* Link power down sequence */
+		link_control = intel_readl(shim, SDW_SHIM_LCTL);
+
+		/* only power-down enabled links */
+		spa_mask = FIELD_PREP(SDW_SHIM_LCTL_SPA_MASK, ~sdw->link_res->link_mask);
+		cpa_mask = FIELD_PREP(SDW_SHIM_LCTL_CPA_MASK, sdw->link_res->link_mask);
+
+		link_control &=  spa_mask;
+
+		ret = intel_clear_bit(shim, SDW_SHIM_LCTL, link_control, cpa_mask);
+	}
+
+	link_control = intel_readl(shim, SDW_SHIM_LCTL);
+
+	mutex_unlock(sdw->link_res->shim_lock);
+
+	if (ret < 0) {
+		dev_err(sdw->cdns.dev, "%s: could not power down link\n", __func__);
+
+		return ret;
+	}
+
+	sdw->cdns.link_up = false;
+	return 0;
+}
 
 static int __maybe_unused intel_suspend(struct device *dev)
 {
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH -next] soundwire: intel: Remove ununsed function
  2020-09-09 13:15 [PATCH -next] soundwire: intel: Remove ununsed function YueHaibing
@ 2020-09-09 13:46 ` Pierre-Louis Bossart
  2020-09-10  5:52   ` Vinod Koul
  2020-09-10  7:29 ` [PATCH -next] soundwire: intel: Fix -Wunused-function warning YueHaibing
  1 sibling, 1 reply; 4+ messages in thread
From: Pierre-Louis Bossart @ 2020-09-09 13:46 UTC (permalink / raw)
  To: YueHaibing, vkoul, yung-chuan.liao, sanyog.r.kale
  Cc: alsa-devel, linux-kernel



On 9/9/20 8:15 AM, YueHaibing wrote:
> If CONFIG_PM is not set, build warns:
> 
> drivers/soundwire/intel.c:488:12: warning: 'intel_link_power_down' defined but not used [-Wunused-function]
> 
> Move this to #ifdef block.

Yes, thanks for the report, it's a valid issue, but maybe the fix is to 
add __maybe_unused more consistently and remove the CONFIG_PM dependency.

Vinod, what would you prefer?

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index e047910d73f5..7640308174ab 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1540,8 +1540,6 @@ int intel_master_process_wakeen_event(struct 
platform_device *pdev)
   * PM calls
   */

-#ifdef CONFIG_PM
-
  static int __maybe_unused intel_suspend(struct device *dev)
  {
         struct sdw_cdns *cdns = dev_get_drvdata(dev);
@@ -1596,7 +1594,7 @@ static int __maybe_unused intel_suspend(struct 
device *dev)
         return 0;
  }

-static int intel_suspend_runtime(struct device *dev)
+static int __maybe_unused intel_suspend_runtime(struct device *dev)
  {
         struct sdw_cdns *cdns = dev_get_drvdata(dev);
         struct sdw_intel *sdw = cdns_to_intel(cdns);
@@ -1751,7 +1749,7 @@ static int __maybe_unused intel_resume(struct 
device *dev)
         return ret;
  }

-static int intel_resume_runtime(struct device *dev)
+static int __maybe_unused intel_resume_runtime(struct device *dev)
  {
         struct sdw_cdns *cdns = dev_get_drvdata(dev);
         struct sdw_intel *sdw = cdns_to_intel(cdns);
@@ -1924,8 +1922,6 @@ static int intel_resume_runtime(struct device *dev)
         return ret;
  }

-#endif
-
  static const struct dev_pm_ops intel_pm = {
         SET_SYSTEM_SLEEP_PM_OPS(intel_suspend, intel_resume)
         SET_RUNTIME_PM_OPS(intel_suspend_runtime, intel_resume_runtime, 
NULL)



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH -next] soundwire: intel: Remove ununsed function
  2020-09-09 13:46 ` Pierre-Louis Bossart
@ 2020-09-10  5:52   ` Vinod Koul
  0 siblings, 0 replies; 4+ messages in thread
From: Vinod Koul @ 2020-09-10  5:52 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: YueHaibing, yung-chuan.liao, sanyog.r.kale, alsa-devel, linux-kernel

On 09-09-20, 08:46, Pierre-Louis Bossart wrote:
> 
> 
> On 9/9/20 8:15 AM, YueHaibing wrote:
> > If CONFIG_PM is not set, build warns:
> > 
> > drivers/soundwire/intel.c:488:12: warning: 'intel_link_power_down' defined but not used [-Wunused-function]
> > 
> > Move this to #ifdef block.
> 
> Yes, thanks for the report, it's a valid issue, but maybe the fix is to add
> __maybe_unused more consistently and remove the CONFIG_PM dependency.
> 
> Vinod, what would you prefer?

__maybe_unused is the recommendation, it should be updated to use that

Thanks
-- 
~Vinod

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH -next] soundwire: intel: Fix -Wunused-function warning
  2020-09-09 13:15 [PATCH -next] soundwire: intel: Remove ununsed function YueHaibing
  2020-09-09 13:46 ` Pierre-Louis Bossart
@ 2020-09-10  7:29 ` YueHaibing
  1 sibling, 0 replies; 4+ messages in thread
From: YueHaibing @ 2020-09-10  7:29 UTC (permalink / raw)
  To: vkoul, yung-chuan.liao, pierre-louis.bossart, sanyog.r.kale
  Cc: alsa-devel, linux-kernel, YueHaibing

If CONFIG_PM is not set, build warns:

drivers/soundwire/intel.c:488:12: warning: 'intel_link_power_down' defined but not used [-Wunused-function]

Mark the functions __maybe_unused and remove the CONFIG_PM dependency.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/soundwire/intel.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index e047910d73f5..48ae8800594a 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -400,7 +400,7 @@ static void intel_shim_glue_to_master_ip(struct sdw_intel *sdw)
 }
 
 /* this needs to be called with shim_lock */
-static void intel_shim_master_ip_to_glue(struct sdw_intel *sdw)
+static void __maybe_unused intel_shim_master_ip_to_glue(struct sdw_intel *sdw)
 {
 	unsigned int link_id = sdw->instance;
 	void __iomem *shim = sdw->link_res->shim;
@@ -485,7 +485,7 @@ static void intel_shim_wake(struct sdw_intel *sdw, bool wake_enable)
 	mutex_unlock(sdw->link_res->shim_lock);
 }
 
-static int intel_link_power_down(struct sdw_intel *sdw)
+static int __maybe_unused intel_link_power_down(struct sdw_intel *sdw)
 {
 	u32 link_control, spa_mask, cpa_mask;
 	unsigned int link_id = sdw->instance;
@@ -1540,8 +1540,6 @@ int intel_master_process_wakeen_event(struct platform_device *pdev)
  * PM calls
  */
 
-#ifdef CONFIG_PM
-
 static int __maybe_unused intel_suspend(struct device *dev)
 {
 	struct sdw_cdns *cdns = dev_get_drvdata(dev);
@@ -1596,7 +1594,7 @@ static int __maybe_unused intel_suspend(struct device *dev)
 	return 0;
 }
 
-static int intel_suspend_runtime(struct device *dev)
+static int __maybe_unused intel_suspend_runtime(struct device *dev)
 {
 	struct sdw_cdns *cdns = dev_get_drvdata(dev);
 	struct sdw_intel *sdw = cdns_to_intel(cdns);
@@ -1751,7 +1749,7 @@ static int __maybe_unused intel_resume(struct device *dev)
 	return ret;
 }
 
-static int intel_resume_runtime(struct device *dev)
+static int __maybe_unused intel_resume_runtime(struct device *dev)
 {
 	struct sdw_cdns *cdns = dev_get_drvdata(dev);
 	struct sdw_intel *sdw = cdns_to_intel(cdns);
@@ -1924,8 +1922,6 @@ static int intel_resume_runtime(struct device *dev)
 	return ret;
 }
 
-#endif
-
 static const struct dev_pm_ops intel_pm = {
 	SET_SYSTEM_SLEEP_PM_OPS(intel_suspend, intel_resume)
 	SET_RUNTIME_PM_OPS(intel_suspend_runtime, intel_resume_runtime, NULL)
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-09-10  7:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09 13:15 [PATCH -next] soundwire: intel: Remove ununsed function YueHaibing
2020-09-09 13:46 ` Pierre-Louis Bossart
2020-09-10  5:52   ` Vinod Koul
2020-09-10  7:29 ` [PATCH -next] soundwire: intel: Fix -Wunused-function warning YueHaibing

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).