On 7.5.2018 03:20, James Kelly wrote: > Replace existing CCF clock providers with new clock provider that can > be enhanced to meet our needs. > > AXI clock prepare/enable/disable/unprepare is now managed by regmap APIs. > > Unregistering of clk instances now handled by devm APIs. > > Drop warning that fractional ratios are not supported because it used > undocumented register fields and it won't be needed anymore. > > Signed-off-by: James Kelly <jamespeterkelly@xxxxxxxxx> > --- > .../clocking-wizard/clk-xlnx-clock-wizard.c | 211 +++++++-------------- > 1 file changed, 71 insertions(+), 140 deletions(-) > > diff --git a/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c b/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c > index ba9b1dc93d50..1dbeda92fb9a 100644 > --- a/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c > +++ b/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c > @@ -76,24 +76,6 @@ > #define WZRD_CLKNAME_IN1 "clk_in1" > #define WZRD_FLAG_MULTIPLY BIT(0) > > -#define WZRD_CLK_CFG_REG(n) (0x200 + 4 * (n)) > - > -#define WZRD_CLKOUT0_FRAC_EN BIT(18) > -#define WZRD_CLKFBOUT_FRAC_EN BIT(26) > - > -#define WZRD_CLKFBOUT_MULT_SHIFT 8 > -#define WZRD_CLKFBOUT_MULT_MASK (0xff << WZRD_CLKFBOUT_MULT_SHIFT) > -#define WZRD_DIVCLK_DIVIDE_SHIFT 0 > -#define WZRD_DIVCLK_DIVIDE_MASK (0xff << WZRD_DIVCLK_DIVIDE_SHIFT) > -#define WZRD_CLKOUT_DIVIDE_SHIFT 0 > -#define WZRD_CLKOUT_DIVIDE_MASK (0xff << WZRD_DIVCLK_DIVIDE_SHIFT) > - > -enum clk_wzrd_int_clks { > - wzrd_clk_mul_div, > - wzrd_clk_mul, > - wzrd_clk_int_max > -}; > - > enum clk_wzrd_clk { > WZRD_CLK_DIV, > WZRD_CLK_PLL, > @@ -149,14 +131,13 @@ struct clk_wzrd_clk_data { > container_of(_hw, struct clk_wzrd_clk_data, hw) > > /** > - * struct clk_wzrd: > - * @clk_data: Clock data > + * struct clk_wzrd - Platform driver data for clocking wizard device > + * > + * @clk_data: Clock data accessible to other devices via device tree > * @nb: Notifier block > - * @base: Memory base > * @regmap: Register map for hardware > * @clk_in1: Handle to input clock 'clk_in1' > * @axi_clk: Handle to input clock 's_axi_aclk' > - * @clks_internal: Internal clocks > * @clkout: Output clocks > * @speed_grade: Speed grade of the device > * @suspended: Flag indicating power state of the device > @@ -167,11 +148,9 @@ struct clk_wzrd_clk_data { > struct clk_wzrd { > struct clk_onecell_data clk_data; > struct notifier_block nb; > - void __iomem *base; > struct regmap *regmap; > struct clk *clk_in1; > struct clk *axi_clk; > - struct clk *clks_internal[wzrd_clk_int_max]; > struct clk *clkout[WZRD_NUM_OUTPUTS]; > unsigned int speed_grade; > bool suspended; > @@ -179,7 +158,6 @@ struct clk_wzrd { > struct clk_wzrd_clk_data pll_data; > struct clk_wzrd_clk_data clkout_data[0]; > }; > - > #define to_clk_wzrd(_nb) container_of(_nb, struct clk_wzrd, nb) Also this is introducing new checkpatch warning. CHECK: Please use a blank line after function/struct/union/enum declarations #350: FILE: drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c:350: +}; +#define to_clk_wzrd(_nb) container_of(_nb, struct clk_wzrd, nb) M _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel