diff options
author | Beniamino Galvani <b.galvani@gmail.com> | 2014-04-27 11:30:38 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-04-29 08:15:24 +0200 |
commit | 32a2a673c6d24a85751f88fb14bb8302fc11c4a9 (patch) | |
tree | 9a6fb8481232cba8e91d89ed6cb9fc78fff385ef /drivers/clk/clk-gate.c | |
parent | 75c0f6f879dee44de3bb3b388ab3430543677b93 (diff) | |
download | barebox-32a2a673c6d24a85751f88fb14bb8302fc11c4a9.tar.gz barebox-32a2a673c6d24a85751f88fb14bb8302fc11c4a9.tar.xz |
clk: gate: add flags argument to clock gate constructor
This adds a clk_gate_flags argument to clock gate creation functions
to allow the introduction of new clock gate modifiers.
Signed-off-by: Beniamino Galvani <b.galvani@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/clk/clk-gate.c')
-rw-r--r-- | drivers/clk/clk-gate.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c index b298b193dc..11c749a8d9 100644 --- a/drivers/clk/clk-gate.c +++ b/drivers/clk/clk-gate.c @@ -25,7 +25,6 @@ struct clk_gate { void __iomem *reg; int shift; const char *parent; -#define CLK_GATE_INVERTED (1 << 0) unsigned flags; }; @@ -85,7 +84,7 @@ static struct clk_ops clk_gate_ops = { }; struct clk *clk_gate_alloc(const char *name, const char *parent, - void __iomem *reg, u8 shift, unsigned flags) + void __iomem *reg, u8 shift, unsigned flags, u8 clk_gate_flags) { struct clk_gate *g = xzalloc(sizeof(*g)); @@ -97,6 +96,7 @@ struct clk *clk_gate_alloc(const char *name, const char *parent, g->clk.flags = flags; g->clk.parent_names = &g->parent; g->clk.num_parents = 1; + g->flags = clk_gate_flags; return &g->clk; } @@ -109,12 +109,12 @@ void clk_gate_free(struct clk *clk_gate) } struct clk *clk_gate(const char *name, const char *parent, void __iomem *reg, - u8 shift, unsigned flags) + u8 shift, unsigned flags, u8 clk_gate_flags) { struct clk *g; int ret; - g = clk_gate_alloc(name , parent, reg, shift, flags); + g = clk_gate_alloc(name , parent, reg, shift, flags, clk_gate_flags); ret = clk_register(g); if (ret) { @@ -131,13 +131,11 @@ struct clk *clk_gate_inverted(const char *name, const char *parent, struct clk *clk; struct clk_gate *g; - clk = clk_gate(name, parent, reg, shift, flags); + clk = clk_gate(name, parent, reg, shift, flags, CLK_GATE_INVERTED); if (IS_ERR(clk)) return clk; g = container_of(clk, struct clk_gate, clk); - g->flags = CLK_GATE_INVERTED; - return clk; } |