When requesting clock in the platform driver, leaving
chip->clk value as NULL if -ENOENT is returned, and
continue. With other errors returning failure. It makes the
driver usable on platforms that do not provide the clock.

Signed-off-by: Heikki Krogerus <heikki.kroge...@linux.intel.com>
---
 drivers/dma/dw/platform.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c
index 32ea1ac..b183bc0 100644
--- a/drivers/dma/dw/platform.c
+++ b/drivers/dma/dw/platform.c
@@ -180,8 +180,12 @@ static int dw_probe(struct platform_device *pdev)
        chip->dev = dev;
 
        chip->clk = devm_clk_get(chip->dev, "hclk");
-       if (IS_ERR(chip->clk))
-               return PTR_ERR(chip->clk);
+       if (IS_ERR(chip->clk)) {
+               if (PTR_ERR(chip->clk) == -ENOENT)
+                       chip->clk = NULL;
+               else
+                       return PTR_ERR(chip->clk);
+       }
        err = clk_prepare_enable(chip->clk);
        if (err)
                return err;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to