summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2026-06-11 08:01:22 -0600
committerTom Rini <[email protected]>2026-06-11 08:01:22 -0600
commita566d32693600bbbe405ca5a7f4ab07f71f45e86 (patch)
treefb15ac93913aafd6c7720d81405fb366eed08ed5
parent69491eb60a86e68fac304a7f1f9ff9fcd05f0d39 (diff)
Revert "clk: enhance clk-gpio to also handle gated-fixed-clock"
I had missed the review comments from Jonas Karlman when applying this, it's not yet ready for inclusion. This reverts commit 4e249b94af928aca29972fc22ef2b5ed0016eab9. Signed-off-by: Tom Rini <[email protected]>
-rw-r--r--configs/rock-5-itx-rk3588_defconfig1
-rw-r--r--drivers/clk/clk-gpio.c29
2 files changed, 7 insertions, 23 deletions
diff --git a/configs/rock-5-itx-rk3588_defconfig b/configs/rock-5-itx-rk3588_defconfig
index adb20c2f3a0..cb014de4188 100644
--- a/configs/rock-5-itx-rk3588_defconfig
+++ b/configs/rock-5-itx-rk3588_defconfig
@@ -52,7 +52,6 @@ CONFIG_AHCI=y
CONFIG_AHCI_PCI=y
CONFIG_DWC_AHCI=y
CONFIG_SPL_CLK=y
-CONFIG_CLK_GPIO=y
# CONFIG_USB_FUNCTION_FASTBOOT is not set
CONFIG_ROCKCHIP_GPIO=y
CONFIG_SYS_I2C_ROCKCHIP=y
diff --git a/drivers/clk/clk-gpio.c b/drivers/clk/clk-gpio.c
index b7abc891ed2..4ed14306575 100644
--- a/drivers/clk/clk-gpio.c
+++ b/drivers/clk/clk-gpio.c
@@ -6,7 +6,6 @@
#include <clk.h>
#include <clk-uclass.h>
#include <dm.h>
-#include <power/regulator.h>
#include <linux/clk-provider.h>
#include <asm/gpio.h>
@@ -14,18 +13,14 @@
struct clk_gpio_priv {
struct gpio_desc enable; /* GPIO, controlling the gate */
struct clk *clk; /* Gated clock */
- struct udevice *vdd_supply;
};
static int clk_gpio_enable(struct clk *clk)
{
struct clk_gpio_priv *priv = dev_get_priv(clk->dev);
- if (priv->clk)
- clk_enable(priv->clk);
-
- if (priv->enable.dev)
- dm_gpio_set_value(&priv->enable, 1);
+ clk_enable(priv->clk);
+ dm_gpio_set_value(&priv->enable, 1);
return 0;
}
@@ -34,11 +29,8 @@ static int clk_gpio_disable(struct clk *clk)
{
struct clk_gpio_priv *priv = dev_get_priv(clk->dev);
- if (priv->enable.dev)
- dm_gpio_set_value(&priv->enable, 0);
-
- if (priv->clk)
- clk_disable(priv->clk);
+ dm_gpio_set_value(&priv->enable, 0);
+ clk_disable(priv->clk);
return 0;
}
@@ -47,7 +39,7 @@ static ulong clk_gpio_get_rate(struct clk *clk)
{
struct clk_gpio_priv *priv = dev_get_priv(clk->dev);
- return (priv->clk) ? clk_get_rate(priv->clk) : -1;
+ return clk_get_rate(priv->clk);
}
const struct clk_ops clk_gpio_ops = {
@@ -65,7 +57,7 @@ static int clk_gpio_probe(struct udevice *dev)
if (IS_ERR(priv->clk)) {
log_debug("%s: Could not get gated clock: %ld\n",
__func__, PTR_ERR(priv->clk));
- priv->clk = 0;
+ return PTR_ERR(priv->clk);
}
ret = gpio_request_by_name(dev, "enable-gpios", 0,
@@ -73,15 +65,9 @@ static int clk_gpio_probe(struct udevice *dev)
if (ret) {
log_debug("%s: Could not decode enable-gpios (%d)\n",
__func__, ret);
+ return ret;
}
- ret = device_get_supply_regulator(dev, "vdd-supply",
- &priv->vdd_supply);
- if (ret == 0)
- ret = regulator_set_enable(priv->vdd_supply, true);
-
- log_debug("%s: %s regulator = %d\n", __func__, dev->name, ret);
-
return 0;
}
@@ -94,7 +80,6 @@ static int clk_gpio_probe(struct udevice *dev)
*/
static const struct udevice_id clk_gpio_match[] = {
{ .compatible = "gpio-gate-clock" },
- { .compatible = "gated-fixed-clock" },
{ /* sentinel */ }
};