[PATCH 1/4] clk: ux500: Adapt PRCMU and PRCC clocks for common clk

Arnd Bergmann arnd at arndb.de
Sun Aug 26 00:47:58 EDT 2012


On Friday 24 August 2012, Ulf Hansson wrote:
> From: Ulf Hansson <ulf.hansson at linaro.org>
> 
> First version of common clock implementation of PRCMU clocks
> and PRCC clocks for ux500 platforms.
> 
> Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>

Very nice, glad to see you got this working!

I only noticed one thing that you should improve:

> +#define to_clk_prcc(_hw) container_of(_hw, struct clk_prcc, hw)
> +
> +struct clk_prcc {
> +	struct clk_hw hw;
> +	unsigned int io_base;
> +	u32 cg_sel;
> +	int is_enabled;
> +};
> +
> +/* PRCC clock operations. */
> +
> +static int clk_prcc_pclk_enable(struct clk_hw *hw)
> +{
> +	struct clk_prcc *clk = to_clk_prcc(hw);
> +	void __iomem *io_base = __io_address(clk->io_base);

In a proper device driver, we should not use hacks like __io_address. Please
change the driver to ioremap the register area at initialization time, and
don't pass a physical io_base like above but instead pass an offset into
the register area.

	Arnd



More information about the linux-arm-kernel mailing list