[PATCH V4 04/62] ST SPEAr: Making clock functions more generic
Russell King - ARM Linux
linux at arm.linux.org.uk
Tue Jan 18 10:56:20 EST 2011
On Tue, Jan 18, 2011 at 12:41:32PM +0530, Viresh Kumar wrote:
> /* pll1 configuration structure */
> static struct pll_clk_config pll1_config = {
> .mode_reg = PLL1_CTR,
> .cfg_reg = PLL1_FRQ,
> + .masks = &pll1_masks,
> };
>
> /* PLL1 clock */
...
> - mode = (readl(config->mode_reg) >> PLL_MODE_SHIFT) &
> - PLL_MODE_MASK;
> + mode = (readl(config->mode_reg) >> config->masks->mode_shift) &
> + config->masks->mode_mask;
>
...
> struct pll_clk_config {
> - unsigned int *mode_reg;
> - unsigned int *cfg_reg;
> + u32 *mode_reg;
> + u32 *cfg_reg;
> + struct pll_clk_masks *masks;
> };
Registers should have an __iomem attribute on them. Preferably, but
not absolutely necessary, should be void to prevent any direct
dereferencing.
More information about the linux-arm-kernel
mailing list