[v5] clk: add si5351 i2c common clock driver
Guenter Roeck
linux at roeck-us.net
Mon Apr 8 08:50:46 EST 2013
On Fri, Apr 05, 2013 at 05:23:35AM -0000, Sebastian Hesselbarth wrote:
> This patch adds a common clock driver for Silicon Labs Si5351a/b/c
> i2c programmable clock generators. Currently, the driver supports
> DT kernels only and VXCO feature of si5351b is not implemented. DT
> bindings selectively allow to overwrite stored Si5351 configuration
> which is very helpful for clock generators with empty eeprom
> configuration. Corresponding device tree binding documentation is
> also added.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> Tested-by: Daniel Mack <zonque at gmail.com>
>
[ ... ]
> +static inline void _si5351_msynth_set_pll_master(
> + struct si5351_driver_data *drvdata, unsigned char num, int is_master)
> +{
> + unsigned long flags;
> +
> + if (num > 8 ||
> + (drvdata->variant == SI5351_VARIANT_A3 && num > 3))
> + return;
> +
> + flags = __clk_get_flags(drvdata->msynth[num].hw.clk);
> + if (is_master)
> + flags |= CLK_SET_RATE_PARENT;
> + else
> + flags &= ~CLK_SET_RATE_PARENT;
> + __clk_set_flags(drvdata->msynth[num].hw.clk, flags);
> +}
> +
Unless I am missing something, neither __clk_get_flags() nor the new
__clk_set_flags is exported.
Did you try to build and load the driver as module ?
Thanks,
Guenter
More information about the devicetree-discuss
mailing list