diff mbox

[U-Boot,v2,3/3] gpio: at91_gpio: Add the clock support

Message ID 1477635389-12406-4-git-send-email-wenyou.yang@atmel.com
State Superseded
Delegated to: Andreas Bießmann
Headers show

Commit Message

Wenyou Yang Oct. 28, 2016, 6:16 a.m. UTC
Add the clock support.

Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

Changes in v2:
 - Add Reviewed-by tag.

 drivers/gpio/at91_gpio.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Andreas Bießmann Feb. 4, 2017, 10:09 p.m. UTC | #1
On Fri, Oct 28, 2016 at 02:16:29PM +0800, Wenyou Yang wrote:
> Add the clock support.
> 
> Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Reviewed-by: Andreas Bießmann <andreas@biessmann.org>

> ---
> 
> Changes in v2:
>  - Add Reviewed-by tag.
> 
>  drivers/gpio/at91_gpio.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/gpio/at91_gpio.c b/drivers/gpio/at91_gpio.c
> index 23b2dc3..bd5c8c4 100644
> --- a/drivers/gpio/at91_gpio.c
> +++ b/drivers/gpio/at91_gpio.c
> @@ -10,6 +10,7 @@
>  
>  #include <config.h>
>  #include <common.h>
> +#include <clk.h>
>  #include <dm.h>
>  #include <asm/io.h>
>  #include <linux/sizes.h>
> @@ -517,6 +518,18 @@ static int at91_gpio_probe(struct udevice *dev)
>  	struct at91_port_priv *port = dev_get_priv(dev);
>  	struct at91_port_platdata *plat = dev_get_platdata(dev);
>  	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
> +	struct clk clk;
> +	int ret;
> +
> +	ret = clk_get_by_index(dev, 0, &clk);
> +	if (ret)
> +		return ret;
> +
> +	ret = clk_enable(&clk);
> +	if (ret)
> +		return ret;
> +
> +	clk_free(&clk);
>  
>  	uc_priv->bank_name = plat->bank_name;
>  	uc_priv->gpio_count = GPIO_PER_BANK;
diff mbox

Patch

diff --git a/drivers/gpio/at91_gpio.c b/drivers/gpio/at91_gpio.c
index 23b2dc3..bd5c8c4 100644
--- a/drivers/gpio/at91_gpio.c
+++ b/drivers/gpio/at91_gpio.c
@@ -10,6 +10,7 @@ 
 
 #include <config.h>
 #include <common.h>
+#include <clk.h>
 #include <dm.h>
 #include <asm/io.h>
 #include <linux/sizes.h>
@@ -517,6 +518,18 @@  static int at91_gpio_probe(struct udevice *dev)
 	struct at91_port_priv *port = dev_get_priv(dev);
 	struct at91_port_platdata *plat = dev_get_platdata(dev);
 	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
+	struct clk clk;
+	int ret;
+
+	ret = clk_get_by_index(dev, 0, &clk);
+	if (ret)
+		return ret;
+
+	ret = clk_enable(&clk);
+	if (ret)
+		return ret;
+
+	clk_free(&clk);
 
 	uc_priv->bank_name = plat->bank_name;
 	uc_priv->gpio_count = GPIO_PER_BANK;