Skip to contentSkip to conversation

PM: clk: Remove unused pm_clk_remove

PATCH Applied [email protected] 2 participants 2 messages Mar 7, 2025 – Mar 12, 2025

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PM: clk: Remove unused pm_clk_remove

From: "Dr. David Alan Gilbert" <[email protected]>

pm_clk_remove() is currently unused.
It hasn't been used since at least 2011 when it was renamed from pm_runtime_clk_remove by
commit 3d5c30367cbc ("PM: Rename clock management functions")

Remove it.

Note that the __pm_clk_remove is still used and is left in.

---
 drivers/base/power/clock_ops.c | 40 ----------------------------------
 include/linux/pm_clock.h       |  4 ----
 2 files changed, 44 deletions(-)
drivers/base/power/clock_ops.c +0 -40
index 97a53215a274..b69bcb37c830 100644
@@ -343,46 +343,6 @@ static void __pm_clk_remove(struct pm_clock_entry *ce)
 	kfree(ce);
 }
 
-/**
- * pm_clk_remove - Stop using a device clock for power management.
- * @dev: Device whose clock should not be used for PM any more.
- * @con_id: Connection ID of the clock.
- *
- * Remove the clock represented by @con_id from the list of clocks used for
- * the power management of @dev.
- */
-void pm_clk_remove(struct device *dev, const char *con_id)
-{
-	struct pm_subsys_data *psd = dev_to_psd(dev);
-	struct pm_clock_entry *ce;
-
-	if (!psd)
-		return;
-
-	pm_clk_list_lock(psd);
-
-	list_for_each_entry(ce, &psd->clock_list, node) {
-		if (!con_id && !ce->con_id)
-			goto remove;
-		else if (!con_id || !ce->con_id)
-			continue;
-		else if (!strcmp(con_id, ce->con_id))
-			goto remove;
-	}
-
-	pm_clk_list_unlock(psd);
-	return;
-
- remove:
-	list_del(&ce->node);
-	if (ce->enabled_when_prepared)
-		psd->clock_op_might_sleep--;
-	pm_clk_list_unlock(psd);
-
-	__pm_clk_remove(ce);
-}
-EXPORT_SYMBOL_GPL(pm_clk_remove);
-
 /**
  * pm_clk_remove_clk - Stop using a device clock for power management.
  * @dev: Device whose clock should not be used for PM any more.
include/linux/pm_clock.h +0 -4
index 45c3f3ccbaf8..c3b46fa358d3 100644
@@ -42,7 +42,6 @@ extern void pm_clk_destroy(struct device *dev);
 extern int pm_clk_add(struct device *dev, const char *con_id);
 extern int pm_clk_add_clk(struct device *dev, struct clk *clk);
 extern int of_pm_clk_add_clks(struct device *dev);
-extern void pm_clk_remove(struct device *dev, const char *con_id);
 extern void pm_clk_remove_clk(struct device *dev, struct clk *clk);
 extern int pm_clk_suspend(struct device *dev);
 extern int pm_clk_resume(struct device *dev);
@@ -75,9 +74,6 @@ static inline int of_pm_clk_add_clks(struct device *dev)
 {
 	return -EINVAL;
 }
-static inline void pm_clk_remove(struct device *dev, const char *con_id)
-{
-}
 #define pm_clk_suspend	NULL
 #define pm_clk_resume	NULL
 static inline void pm_clk_remove_clk(struct device *dev, struct clk *clk)
Signature · 1 line
2.48.1
maintainer Applied
#1 lore raw
Quoted 82 lines · On Fri, Mar 7, 2025 at 10:23 PM <[email protected]> wrote:

From: "Dr. David Alan Gilbert" <[email protected]>

pm_clk_remove() is currently unused.
It hasn't been used since at least 2011 when it was renamed from pm_runtime_clk_remove by
commit 3d5c30367cbc ("PM: Rename clock management functions")

Remove it.

Note that the __pm_clk_remove is still used and is left in.

---
 drivers/base/power/clock_ops.c | 40 ----------------------------------
 include/linux/pm_clock.h       |  4 ----
 2 files changed, 44 deletions(-)
drivers/base/power/clock_ops.c +0 -40
index 97a53215a274..b69bcb37c830 100644
@@ -343,46 +343,6 @@ static void __pm_clk_remove(struct pm_clock_entry *ce)
        kfree(ce);
 }
 
-/**
- * pm_clk_remove - Stop using a device clock for power management.
- * @dev: Device whose clock should not be used for PM any more.
- * @con_id: Connection ID of the clock.
- *
- * Remove the clock represented by @con_id from the list of clocks used for
- * the power management of @dev.
- */
-void pm_clk_remove(struct device *dev, const char *con_id)
-{
-       struct pm_subsys_data *psd = dev_to_psd(dev);
-       struct pm_clock_entry *ce;
-
-       if (!psd)
-               return;
-
-       pm_clk_list_lock(psd);
-
-       list_for_each_entry(ce, &psd->clock_list, node) {
-               if (!con_id && !ce->con_id)
-                       goto remove;
-               else if (!con_id || !ce->con_id)
-                       continue;
-               else if (!strcmp(con_id, ce->con_id))
-                       goto remove;
-       }
-
-       pm_clk_list_unlock(psd);
-       return;
-
- remove:
-       list_del(&ce->node);
-       if (ce->enabled_when_prepared)
-               psd->clock_op_might_sleep--;
-       pm_clk_list_unlock(psd);
-
-       __pm_clk_remove(ce);
-}
-EXPORT_SYMBOL_GPL(pm_clk_remove);
-
 /**
  * pm_clk_remove_clk - Stop using a device clock for power management.
  * @dev: Device whose clock should not be used for PM any more.
include/linux/pm_clock.h +0 -1
index 45c3f3ccbaf8..c3b46fa358d3 100644
@@ -42,7 +42,6 @@ extern void pm_clk_destroy(struct device *dev);
 extern int pm_clk_add(struct device *dev, const char *con_id);
 extern int pm_clk_add_clk(struct device *dev, struct clk *clk);
 extern int of_pm_clk_add_clks(struct device *dev);
-extern void pm_clk_remove(struct device *dev, const char *con_id);
 extern void pm_clk_remove_clk(struct device *dev, struct clk *clk);
 extern int pm_clk_suspend(struct device *dev);
 extern int pm_clk_resume(struct device *dev);

include/linux/pm_clock.h static inline int of_pm_clk_add_clks(struct device *dev)

Quoted 10 lines
include/linux/pm_clock.h +0 -4
@@ -75,9 +74,6 @@ static inline int of_pm_clk_add_clks(struct device *dev)
 {
        return -EINVAL;
 }
-static inline void pm_clk_remove(struct device *dev, const char *con_id)
-{
-}
 #define pm_clk_suspend NULL
 #define pm_clk_resume  NULL
 static inline void pm_clk_remove_clk(struct device *dev, struct clk *clk)
--

Applied as 6.15 material, thanks!