Re: [PATCH 1/2] [media] V4L: atmel-isi: add code toenable/disableISI_MCK clock

From: Russell King - ARM Linux
Date: Wed Dec 07 2011 - 17:40:16 EST


On Wed, Dec 07, 2011 at 06:12:52PM +0800, Wu, Josh wrote:
> Hi, Russell King
>
> On Wed, Dec 07, 2011 at 4:50 PM, Russell King wrote:
>
> > On Wed, Nov 30, 2011 at 06:06:43PM +0800, Josh Wu wrote:
> >> + /* Get ISI_MCK, provided by programmable clock or external clock
> */
> >> + isi->mck = clk_get(dev, "isi_mck");
> >> + if (IS_ERR_OR_NULL(isi->mck)) {
>
> > This should be IS_ERR()
>
> So it means the clk_get() will never return NULL even when clk structure
> is NULL in clk lookup entry. Right?

It is not the drivers business to know whether NULL is valid or not.

clk_get() is defined to either return an error pointer, or a cookie
which the rest of the clk API must accept.

If an implementation decides that clk_get() can return NULL and deals
with that in the rest of the API (eg, to mean 'there is no clock but
don't fail for this') then drivers must not reject that.

If a driver rejects NULL then it is performing checks outside of the
definition of the clk API, and making assumptions about the nature of
valid cookies.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/