Messages in this thread | | | Date | Wed, 11 Feb 2015 12:07:27 +0000 | From | Russell King - ARM Linux <> | Subject | Re: [PATCH] dmaengine: dw: support for clockless platforms |
| |
On Wed, Feb 11, 2015 at 02:02:39PM +0200, Andy Shevchenko wrote: > On Wed, 2015-02-11 at 10:10 +0800, Viresh Kumar wrote: > > > 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; > > > > You don't need to set it to NULL, if CONFIG_HAVE_CLK isn't set > > the dummy routines would take care of it. > > Yeah, but in our case we have CONFIG_HAVE_CLK=y and no clk is provided > since IP is clockless. What could you suggest to do in such case?
chip->clk = devm_clk_get(chip->dev, "hclk"); if (IS_ERR(chip->clk) && PTR_ERR(chip->clk) != -ENOENT) return PTR_ERR(chip->clk);
You can then test for the presence of a clk via IS_ERR(chip->clk).
I'm just debating whether we should add a clk_is_valid() inline function to linux/clk.h to avoid these shouting tests, and make it easier for people test this in a generic manner.
-- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.
| |