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 4e249b94af.
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
@@ -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
|
||||
|
||||
+7
-22
@@ -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 */ }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user