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. -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html