On Mon, Jan 14, 2013 at 09:45:52AM -0700, Stephen Warren wrote: > On 01/12/2013 03:34 AM, Laxman Dewangan wrote: > ... > > Which is the tree on which Prashant changes are applied. I can debug > > from that tree. > > git://nv-tegra.nvidia.com/user/swarren/linux-2.6 test-ccf-rework-v4 > > But as I said in some other email in response to Prashant, I'll go and > find out why the clk driver is returning NULL.
Exactly - the rule is, the rest of the clk API should accept as valid anything which clk_get() produces _for that implementation_ which IS_ERR() is not equal to 1. What that means is: - if a platform's clk_get() never returns NULL, then the rest of the clk API need not test for that value. (If a NULL pointer is passed to one of the clk API functions, crashing _is_ _okay_. Consider what memset(NULL, 0, 4096) would do from the kernel - it doesn't test for a NULL pointer just because it can - it crashes so you can debug why it was passed a NULL pointer.) - if a platform's clk_get() does return NULL, then the rest of the clk API is expected to deal with a NULL pointer in a way that does _not_ result in the system crashing. Or, to put it another way: clk = clk_get(...); if (IS_ERR(clk)) return PTR_ERR(clk); clk_foo(clk); for all possible return values of clk_get() that an implementation _actually_ _intentionally_ returns[*] should never cause an oops. [*] - bugs excluded. No bugs were squashed in the creation of this email. -- 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/