Subject: [PATCH 25/40] ARM: imx: add common clock support for clk busy

From: [email-masked] (Stephen Boyd)
Date: Tue, 10 Apr 2012 11:59:13 -0700

On 04/10/12 06:45, Sascha Hauer wrote:
> +static int clk_busy_wait(void __iomem *reg, u8 shift)
> +{
> +	unsigned long timeout = jiffies + msecs_to_jiffies(10);
> +
> +	while (readl_relaxed(reg) & (1 << shift))
> +		if (time_after(jiffies, timeout))
> +			return -ETIMEDOUT;
> +
> +	return 0;
> +}

MSM also has a bit to poll to see if a clock is enabled or not, similar
to this rate switch complete bit. Would it make sense to have another
few clock ops like wait_for_enable(), wait_for_rate(),
wait_for_disable()? Then you should be able to copy the basic divider
ops and assign the wait ops and avoid the wrappers.

Also, why are these drivers in arch/arm? Shouldn't we be putting all
clock drivers into drivers/clk/ now?

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.