[PATCH 06/14] staging: clocking-wizard: Swap CCF clock providers
Michal Simek
michal.simek at xilinx.com
Fri May 11 06:24:14 UTC 2018
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 at gmail.com>
> ---
> .../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
More information about the devel
mailing list