Re: [PATCH 01/15] ARM: etm: Don't require clock control

From: Paul Mundt
Date: Wed Jun 13 2012 - 04:33:51 EST


On Tue, Jun 12, 2012 at 07:01:19PM -0700, John Stultz wrote:
> diff --git a/arch/arm/kernel/etm.c b/arch/arm/kernel/etm.c
> index 36d20bd..bd295e8 100644
> --- a/arch/arm/kernel/etm.c
> +++ b/arch/arm/kernel/etm.c
> @@ -362,13 +362,12 @@ static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id
> if (ret)
> goto out_unmap;
>
> + /* Get optional clock. Currently used to select clock source on omap3 */
> t->emu_clk = clk_get(&dev->dev, "emu_src_ck");
> - if (IS_ERR(t->emu_clk)) {
> + if (IS_ERR(t->emu_clk))
> dev_dbg(&dev->dev, "Failed to obtain emu_src_ck.\n");
> - return -EFAULT;
> - }
> -
> - clk_enable(t->emu_clk);
> + else
> + clk_enable(t->emu_clk);
>
Optionally you could just:

if (IS_ERR(t->emu_clk))
t->emu_clk = NULL;

and use the clk API as you were, as it does handle NULL being passed in.

In this case you don't have too many callsites to worry about, but it's
reasonably convenient to be able to pass a NULL clk pointer around
without constant special-casing when those start to balloon up.
--
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/