[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <510F5646.80907@nvidia.com>
Date: Mon, 4 Feb 2013 12:03:42 +0530
From: Prashant Gaikwad <pgaikwad@...dia.com>
To: Peter De Schrijver <pdeschrijver@...dia.com>
CC: Grant Likely <grant.likely@...retlab.ca>,
Rob Herring <rob.herring@...xeda.com>,
Rob Landley <rob@...dley.net>,
Stephen Warren <swarren@...dotorg.org>,
Russell King <linux@....linux.org.uk>,
Simon Glass <sjg@...omium.org>,
Mike Turquette <mturquette@...aro.org>,
Joseph Lo <josephl@...dia.com>,
"devicetree-discuss@...ts.ozlabs.org"
<devicetree-discuss@...ts.ozlabs.org>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v5 05/10] clk: tegra: Add flags to tegra_clk_periph()
On Friday 01 February 2013 03:48 PM, Peter De Schrijver wrote:
> We will need some tegra peripheral clocks with the CLK_IGNORE_UNUSED flag,
> most notably mselect, which is a bridge between AXI and most peripherals.
>
> Signed-off-by: Peter De Schrijver <pdeschrijver@...dia.com>
> ---
Looks good to me.
Reviewed-by: Prashant Gaikwad <pgaikwad@...dia.com>
> drivers/clk/tegra/clk-periph.c | 11 ++++++-----
> drivers/clk/tegra/clk-tegra20.c | 2 +-
> drivers/clk/tegra/clk-tegra30.c | 2 +-
> drivers/clk/tegra/clk.h | 9 ++++++---
> 4 files changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/clk/tegra/clk-periph.c b/drivers/clk/tegra/clk-periph.c
> index 788486e..067abb3 100644
> --- a/drivers/clk/tegra/clk-periph.c
> +++ b/drivers/clk/tegra/clk-periph.c
> @@ -170,14 +170,15 @@ const struct clk_ops tegra_clk_periph_nodiv_ops = {
> static struct clk *_tegra_clk_register_periph(const char *name,
> const char **parent_names, int num_parents,
> struct tegra_clk_periph *periph,
> - void __iomem *clk_base, u32 offset, bool div)
> + void __iomem *clk_base, u32 offset, bool div,
> + unsigned long flags)
> {
> struct clk *clk;
> struct clk_init_data init;
>
> init.name = name;
> init.ops = div ? &tegra_clk_periph_ops : &tegra_clk_periph_nodiv_ops;
> - init.flags = div ? 0 : CLK_SET_RATE_PARENT;
> + init.flags = flags;
> init.parent_names = parent_names;
> init.num_parents = num_parents;
>
> @@ -202,10 +203,10 @@ static struct clk *_tegra_clk_register_periph(const char *name,
> struct clk *tegra_clk_register_periph(const char *name,
> const char **parent_names, int num_parents,
> struct tegra_clk_periph *periph, void __iomem *clk_base,
> - u32 offset)
> + u32 offset, unsigned long flags)
> {
> return _tegra_clk_register_periph(name, parent_names, num_parents,
> - periph, clk_base, offset, true);
> + periph, clk_base, offset, true, flags);
> }
>
> struct clk *tegra_clk_register_periph_nodiv(const char *name,
> @@ -214,5 +215,5 @@ struct clk *tegra_clk_register_periph_nodiv(const char *name,
> u32 offset)
> {
> return _tegra_clk_register_periph(name, parent_names, num_parents,
> - periph, clk_base, offset, false);
> + periph, clk_base, offset, false, CLK_SET_RATE_PARENT);
> }
> diff --git a/drivers/clk/tegra/clk-tegra20.c b/drivers/clk/tegra/clk-tegra20.c
> index 54c6777..870349e 100644
> --- a/drivers/clk/tegra/clk-tegra20.c
> +++ b/drivers/clk/tegra/clk-tegra20.c
> @@ -1048,7 +1048,7 @@ static void __init tegra20_periph_clk_init(void)
> data = &tegra_periph_clk_list[i];
> clk = tegra_clk_register_periph(data->name, data->parent_names,
> data->num_parents, &data->periph,
> - clk_base, data->offset);
> + clk_base, data->offset, data->flags);
> clk_register_clkdev(clk, data->con_id, data->dev_id);
> clks[data->clk_id] = clk;
> }
> diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c
> index 078f9b8..126747b 100644
> --- a/drivers/clk/tegra/clk-tegra30.c
> +++ b/drivers/clk/tegra/clk-tegra30.c
> @@ -1665,7 +1665,7 @@ static void __init tegra30_periph_clk_init(void)
> data = &tegra_periph_clk_list[i];
> clk = tegra_clk_register_periph(data->name, data->parent_names,
> data->num_parents, &data->periph,
> - clk_base, data->offset);
> + clk_base, data->offset, data->flags);
> clk_register_clkdev(clk, data->con_id, data->dev_id);
> clks[data->clk_id] = clk;
> }
> diff --git a/drivers/clk/tegra/clk.h b/drivers/clk/tegra/clk.h
> index 4d0f556..79f5e2a 100644
> --- a/drivers/clk/tegra/clk.h
> +++ b/drivers/clk/tegra/clk.h
> @@ -411,7 +411,7 @@ extern const struct clk_ops tegra_clk_periph_ops;
> struct clk *tegra_clk_register_periph(const char *name,
> const char **parent_names, int num_parents,
> struct tegra_clk_periph *periph, void __iomem *clk_base,
> - u32 offset);
> + u32 offset, unsigned long flags);
> struct clk *tegra_clk_register_periph_nodiv(const char *name,
> const char **parent_names, int num_parents,
> struct tegra_clk_periph *periph, void __iomem *clk_base,
> @@ -454,12 +454,14 @@ struct tegra_periph_init_data {
> u32 offset;
> const char *con_id;
> const char *dev_id;
> + unsigned long flags;
> };
>
> #define TEGRA_INIT_DATA_TABLE(_name, _con_id, _dev_id, _parent_names, _offset,\
> _mux_shift, _mux_mask, _mux_flags, _div_shift, \
> _div_width, _div_frac_width, _div_flags, _regs, \
> - _clk_num, _enb_refcnt, _gate_flags, _clk_id, _table) \
> + _clk_num, _enb_refcnt, _gate_flags, _clk_id, _table,\
> + _flags) \
> { \
> .name = _name, \
> .clk_id = _clk_id, \
> @@ -474,6 +476,7 @@ struct tegra_periph_init_data {
> .offset = _offset, \
> .con_id = _con_id, \
> .dev_id = _dev_id, \
> + .flags = _flags \
> }
>
> #define TEGRA_INIT_DATA(_name, _con_id, _dev_id, _parent_names, _offset,\
> @@ -484,7 +487,7 @@ struct tegra_periph_init_data {
> _mux_shift, BIT(_mux_width) - 1, _mux_flags, \
> _div_shift, _div_width, _div_frac_width, _div_flags, \
> _regs, _clk_num, _enb_refcnt, _gate_flags, _clk_id,\
> - NULL)
> + NULL, 0)
>
> /**
> * struct clk_super_mux - super clock
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists