summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorWadim Egorov <[email protected]>2025-04-17 13:53:11 +0200
committerTom Rini <[email protected]>2025-04-18 09:35:39 -0600
commit71f497a6d3908574a1b1c3813c2a1385910f76bd (patch)
tree2be17156be501c192a282653aa9dbda61c147f01 /include
parentec43e63206fb6b0b50f114feb074462c5e140dea (diff)
Revert "power-domain: Add refcounting"
Unfortunately this change breaks boot on K3 platform. U-Boot will hang after: U-Boot SPL 2025.04-01050-ga40fc5afaec0 (Apr 14 2025 - 07:31:32 +0000) SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.7--v09.02.07 (Kool Koala)') This reverts commit 197376fbf300e92afa0a1583815d9c9eb52d613a as suggested in [1]. [1] https://lists.denx.de/pipermail/u-boot/2025-April/587032.html Signed-off-by: Wadim Egorov <[email protected]> Acked-by: Miquel Raynal <[email protected]>
Diffstat (limited to 'include')
-rw-r--r--include/power-domain.h60
1 files changed, 8 insertions, 52 deletions
diff --git a/include/power-domain.h b/include/power-domain.h
index ad33dea76ce..18525073e5e 100644
--- a/include/power-domain.h
+++ b/include/power-domain.h
@@ -147,82 +147,38 @@ static inline int power_domain_free(struct power_domain *power_domain)
#endif
/**
- * power_domain_on_lowlevel - Enable power to a power domain (with refcounting)
+ * power_domain_on - Enable power to a power domain.
*
* @power_domain: A power domain struct that was previously successfully
* requested by power_domain_get().
- * Return: 0 if the transition has been performed correctly,
- * -EALREADY if the domain is already on,
- * a negative error code otherwise.
+ * Return: 0 if OK, or a negative error code.
*/
#if CONFIG_IS_ENABLED(POWER_DOMAIN)
-int power_domain_on_lowlevel(struct power_domain *power_domain);
+int power_domain_on(struct power_domain *power_domain);
#else
-static inline int power_domain_on_lowlevel(struct power_domain *power_domain)
+static inline int power_domain_on(struct power_domain *power_domain)
{
return -ENOSYS;
}
#endif
/**
- * power_domain_on - Enable power to a power domain (ignores the actual state
- * of the power domain)
- *
- * @power_domain: A power domain struct that was previously successfully
- * requested by power_domain_get().
- * Return: a negative error code upon error during the transition, 0 otherwise.
- */
-static inline int power_domain_on(struct power_domain *power_domain)
-{
- int ret;
-
- ret = power_domain_on_lowlevel(power_domain);
- if (ret == -EALREADY)
- ret = 0;
-
- return ret;
-}
-
-/**
- * power_domain_off_lowlevel - Disable power to a power domain (with refcounting)
+ * power_domain_off - Disable power to a power domain.
*
* @power_domain: A power domain struct that was previously successfully
* requested by power_domain_get().
- * Return: 0 if the transition has been performed correctly,
- * -EALREADY if the domain is already off,
- * -EBUSY if another device is keeping the domain on (but the refcounter
- * is decremented),
- * a negative error code otherwise.
+ * Return: 0 if OK, or a negative error code.
*/
#if CONFIG_IS_ENABLED(POWER_DOMAIN)
-int power_domain_off_lowlevel(struct power_domain *power_domain);
+int power_domain_off(struct power_domain *power_domain);
#else
-static inline int power_domain_off_lowlevel(struct power_domain *power_domain)
+static inline int power_domain_off(struct power_domain *power_domain)
{
return -ENOSYS;
}
#endif
/**
- * power_domain_off - Disable power to a power domain (ignores the actual state
- * of the power domain)
- *
- * @power_domain: A power domain struct that was previously successfully
- * requested by power_domain_get().
- * Return: a negative error code upon error during the transition, 0 otherwise.
- */
-static inline int power_domain_off(struct power_domain *power_domain)
-{
- int ret;
-
- ret = power_domain_off_lowlevel(power_domain);
- if (ret == -EALREADY || ret == -EBUSY)
- ret = 0;
-
- return ret;
-}
-
-/**
* dev_power_domain_on - Enable power domains for a device .
*
* @dev: The client device.