Re: [PATCH v4 01/20] clk: tegra: Modify tegra_audio_clk_init to accept more plls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 04, 2015 at 12:37:21PM -0400, Rhyland Klein wrote:
[...]
> diff --git a/drivers/clk/tegra/clk-tegra114.c b/drivers/clk/tegra/clk-tegra114.c
> index 8237d16b4075..0d67efb3dd6a 100644
> --- a/drivers/clk/tegra/clk-tegra114.c
> +++ b/drivers/clk/tegra/clk-tegra114.c
> @@ -935,6 +935,10 @@ static u32 mux_pllm_pllc2_c_c3_pllp_plla_idx[] = {
>  	[0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 6,
>  };
>  
> +static struct tegra_audio_clk_info tegra114_audio_plls[] = {
> +	{ "pll_a", &pll_a_params, tegra_clk_pll_a, "pll_p_out1" },
> +};
> +
>  static struct clk **clks;
>  
>  static unsigned long osc_freq;
> @@ -1483,7 +1487,8 @@ static void __init tegra114_clock_init(struct device_node *np)
>  	tegra114_fixed_clk_init(clk_base);
>  	tegra114_pll_init(clk_base, pmc_base);
>  	tegra114_periph_clk_init(clk_base, pmc_base);
> -	tegra_audio_clk_init(clk_base, pmc_base, tegra114_clks, &pll_a_params);
> +	tegra_audio_clk_init(clk_base, pmc_base, tegra114_clks,
> +			     &tegra114_audio_plls, 1);

This throws a build warning, it should be tegra114_audio_plls (without
the ampersand). Also I think you should use ARRAY_SIZE() instead of
hard-coding the number of entries here.

>  	tegra_pmc_clk_init(pmc_base, tegra114_clks);
>  	tegra_super_clk_gen4_init(clk_base, pmc_base, tegra114_clks,
>  					&pll_x_params);
> diff --git a/drivers/clk/tegra/clk-tegra124.c b/drivers/clk/tegra/clk-tegra124.c
> index 11f857cd5f6a..169e236f3627 100644
> --- a/drivers/clk/tegra/clk-tegra124.c
> +++ b/drivers/clk/tegra/clk-tegra124.c
> @@ -1413,6 +1413,10 @@ static struct tegra_clk_init_table tegra132_init_table[] __initdata = {
>  	{TEGRA124_CLK_CLK_MAX, TEGRA124_CLK_CLK_MAX, 0, 0},
>  };
>  
> +static struct tegra_audio_clk_info tegra124_audio_plls[] = {
> +	{ "pll_a", &pll_a_params, tegra_clk_pll_a, "pll_p_out1" },
> +};
> +
>  /**
>   * tegra124_clock_apply_init_table - initialize clocks on Tegra124 SoCs
>   *
> @@ -1489,7 +1493,8 @@ static void __init tegra124_132_clock_init_pre(struct device_node *np)
>  	tegra_fixed_clk_init(tegra124_clks);
>  	tegra124_pll_init(clk_base, pmc_base);
>  	tegra124_periph_clk_init(clk_base, pmc_base);
> -	tegra_audio_clk_init(clk_base, pmc_base, tegra124_clks, &pll_a_params);
> +	tegra_audio_clk_init(clk_base, pmc_base, tegra124_clks,
> +			     tegra124_audio_plls, 1);

ARRAY_SIZE() here as well. The ampersand isn't there in this case...

>  	tegra_pmc_clk_init(pmc_base, tegra124_clks);
>  
>  	/* For Tegra124 & Tegra132, PLLD is the only source for DSIA & DSIB */
> diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c
> index 4b26509fc218..3198c7b7946c 100644
> --- a/drivers/clk/tegra/clk-tegra30.c
> +++ b/drivers/clk/tegra/clk-tegra30.c
> @@ -1406,6 +1406,10 @@ static const struct of_device_id pmc_match[] __initconst = {
>  	{},
>  };
>  
> +static struct tegra_audio_clk_info tegra30_audio_plls[] = {
> +	{ "pll_a", &pll_a_params, tegra_clk_pll_a, "pll_p_out1" },
> +};
> +
>  static void __init tegra30_clock_init(struct device_node *np)
>  {
>  	struct device_node *node;
> @@ -1443,7 +1447,8 @@ static void __init tegra30_clock_init(struct device_node *np)
>  	tegra30_pll_init();
>  	tegra30_super_clk_init();
>  	tegra30_periph_clk_init();
> -	tegra_audio_clk_init(clk_base, pmc_base, tegra30_clks, &pll_a_params);
> +	tegra_audio_clk_init(clk_base, pmc_base, tegra30_clks,
> +			     &tegra30_audio_plls, 1);

Same comments as for Tegra114.

> diff --git a/drivers/clk/tegra/clk.h b/drivers/clk/tegra/clk.h
[...]
> @@ -607,7 +622,8 @@ void tegra_register_devclks(struct tegra_devclk *dev_clks, int num);
>  
>  void tegra_audio_clk_init(void __iomem *clk_base,
>  			void __iomem *pmc_base, struct tegra_clk *tegra_clks,
> -			struct tegra_clk_pll_params *pll_params);
> +			struct tegra_audio_clk_info *audio_info,
> +			int num_plls);

Oh, and make num_plls unsigned int, please.

Thierry

Attachment: pgplpuX2WqSMf.pgp
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux