2018-03-09 10:35:47

by Phil Edworthy

[permalink] [raw]
Subject: [PATCH] gpio: dwapb: Add support for a bus clock

From: Michel Pollet <[email protected]>

Enable specified clocks from DTS, if any.

Signed-off-by: Michel Pollet <[email protected]>
---
drivers/gpio/gpio-dwapb.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index b0704a8..56c58b5 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -27,6 +27,7 @@
#include <linux/spinlock.h>
#include <linux/platform_data/gpio-dwapb.h>
#include <linux/slab.h>
+#include <linux/clk.h>

#include "gpiolib.h"

@@ -637,6 +638,7 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
int err;
struct device *dev = &pdev->dev;
struct dwapb_platform_data *pdata = dev_get_platdata(dev);
+ struct clk *clk;

if (!pdata) {
pdata = dwapb_gpio_get_pdata(dev);
@@ -670,6 +672,10 @@ static int dwapb_gpio_probe(struct platform_device *pdev)
if (IS_ERR(gpio->regs))
return PTR_ERR(gpio->regs);

+ clk = devm_clk_get(&pdev->dev, NULL);
+ if (!IS_ERR(clk) && clk_prepare_enable(clk))
+ dev_info(&pdev->dev, "no clock source\n");
+
gpio->flags = 0;
if (dev->of_node) {
const struct of_device_id *of_devid;
--
2.7.4



2018-03-12 13:59:46

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH] gpio: dwapb: Add support for a bus clock

On Fri, Mar 9, 2018 at 12:34 PM, Phil Edworthy
<[email protected]> wrote:
> From: Michel Pollet <[email protected]>
>
> Enable specified clocks from DTS, if any.
>
> Signed-off-by: Michel Pollet <[email protected]>

> #include <linux/spinlock.h>
> #include <linux/platform_data/gpio-dwapb.h>
> #include <linux/slab.h>
> +#include <linux/clk.h>

Keep in order.


> + clk = devm_clk_get(&pdev->dev, NULL);
> + if (!IS_ERR(clk) && clk_prepare_enable(clk))
> + dev_info(&pdev->dev, "no clock source\n");

First of all, it shadows any error from clk_prepare_enable(), second,
it misses the clock name.
Next, I don't see how you managed the clock during PM and / or
->remove() operation.

--
With Best Regards,
Andy Shevchenko