From: viresh.kumar@st.com (Viresh Kumar)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/13] clk: clk-private: Add DEFINE_CLK macro
Date: Tue, 17 Apr 2012 16:45:36 +0530 [thread overview]
Message-ID: <6162129d0c12ebfd86d0c68ab410fd3b1d7e36ce.1334660431.git.viresh.kumar@st.com> (raw)
In-Reply-To: <cover.1334660431.git.viresh.kumar@st.com>
All macros used for creating different kind of clocks have similar code for
initializing struct clk. This patch removes those redundant lines and create
another macro DEFINE_CLK.
Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
---
include/linux/clk-private.h | 59 ++++++++++++++----------------------------
1 files changed, 20 insertions(+), 39 deletions(-)
diff --git a/include/linux/clk-private.h b/include/linux/clk-private.h
index e7032fd..eeae7a3 100644
--- a/include/linux/clk-private.h
+++ b/include/linux/clk-private.h
@@ -55,6 +55,18 @@ struct clk {
* alternative macro for static initialization
*/
+#define DEFINE_CLK(_name, _ops, _flags, _parent_names, \
+ _parents) \
+ static struct clk _name = { \
+ .name = #_name, \
+ .ops = &_ops, \
+ .hw = &_name##_hw.hw, \
+ .parent_names = _parent_names, \
+ .num_parents = ARRAY_SIZE(_parent_names), \
+ .parents = _parents, \
+ .flags = _flags, \
+ }
+
#define DEFINE_CLK_FIXED_RATE(_name, _flags, _rate, \
_fixed_rate_flags) \
static struct clk _name; \
@@ -66,15 +78,8 @@ struct clk {
.fixed_rate = _rate, \
.flags = _fixed_rate_flags, \
}; \
- static struct clk _name = { \
- .name = #_name, \
- .ops = &clk_fixed_rate_ops, \
- .hw = &_name##_hw.hw, \
- .parent_names = _name##_parent_names, \
- .num_parents = \
- ARRAY_SIZE(_name##_parent_names), \
- .flags = _flags, \
- };
+ DEFINE_CLK(_name, clk_fixed_rate_ops, _flags, \
+ _name##_parent_names, NULL);
#define DEFINE_CLK_GATE(_name, _parent_name, _parent_ptr, \
_flags, _reg, _bit_idx, \
@@ -95,16 +100,8 @@ struct clk {
.flags = _gate_flags, \
.lock = _lock, \
}; \
- static struct clk _name = { \
- .name = #_name, \
- .ops = &clk_gate_ops, \
- .hw = &_name##_hw.hw, \
- .parent_names = _name##_parent_names, \
- .num_parents = \
- ARRAY_SIZE(_name##_parent_names), \
- .parents = _name##_parents, \
- .flags = _flags, \
- };
+ DEFINE_CLK(_name, clk_gate_ops, _flags, \
+ _name##_parent_names, _name##_parents);
#define DEFINE_CLK_DIVIDER(_name, _parent_name, _parent_ptr, \
_flags, _reg, _shift, _width, \
@@ -126,16 +123,8 @@ struct clk {
.flags = _divider_flags, \
.lock = _lock, \
}; \
- static struct clk _name = { \
- .name = #_name, \
- .ops = &clk_divider_ops, \
- .hw = &_name##_hw.hw, \
- .parent_names = _name##_parent_names, \
- .num_parents = \
- ARRAY_SIZE(_name##_parent_names), \
- .parents = _name##_parents, \
- .flags = _flags, \
- };
+ DEFINE_CLK(_name, clk_divider_ops, _flags, \
+ _name##_parent_names, _name##_parents);
#define DEFINE_CLK_MUX(_name, _parent_names, _parents, _flags, \
_reg, _shift, _width, \
@@ -151,16 +140,8 @@ struct clk {
.flags = _mux_flags, \
.lock = _lock, \
}; \
- static struct clk _name = { \
- .name = #_name, \
- .ops = &clk_mux_ops, \
- .hw = &_name##_hw.hw, \
- .parent_names = _parent_names, \
- .num_parents = \
- ARRAY_SIZE(_parent_names), \
- .parents = _parents, \
- .flags = _flags, \
- };
+ DEFINE_CLK(_name, clk_mux_ops, _flags, _parent_names, \
+ _parents);
/**
* __clk_init - initialize the data structures in a struct clk
--
1.7.9
next prev parent reply other threads:[~2012-04-17 11:15 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-17 11:15 [PATCH 00/13] SPEAr: Move to common clock framework Viresh Kumar
2012-04-17 11:15 ` [PATCH 01/13] CLKDEV: Add helper routines to allocate and add clkdevs for given struct clk * Viresh Kumar
2012-04-17 11:15 ` [PATCH 02/13] clk: Fix typo in comment Viresh Kumar
2012-04-18 21:04 ` Turquette, Mike
2012-04-17 11:15 ` [PATCH 03/13] " Viresh Kumar
2012-04-17 11:15 ` Viresh Kumar [this message]
2012-04-18 21:01 ` [PATCH 04/13] clk: clk-private: Add DEFINE_CLK macro Turquette, Mike
2012-04-17 11:15 ` [PATCH 05/13] clk: clk-gate: Create clk_gate_endisable() Viresh Kumar
2012-04-18 21:02 ` Turquette, Mike
2012-04-17 11:15 ` [PATCH 06/13] clk: Don't set clk->new_rate twice Viresh Kumar
2012-04-18 21:08 ` Turquette, Mike
2012-04-17 11:15 ` [PATCH 07/13] clk: clk_set_rate() must fail if CLK_SET_RATE_GATE is set and clk is enabled Viresh Kumar
2012-04-17 11:15 ` [PATCH 08/13] SPEAr: clk: Add VCO-PLL Synthesizer clock Viresh Kumar
2012-04-17 11:15 ` [PATCH 09/13] SPEAr: clk: Add Auxiliary " Viresh Kumar
2012-04-17 18:51 ` Sascha Hauer
2012-04-17 20:30 ` Arnd Bergmann
2012-04-18 20:01 ` Sascha Hauer
2012-04-17 11:15 ` [PATCH 10/13] SPEAr: clk: Add Fractional " Viresh Kumar
2012-04-17 11:15 ` [PATCH 11/13] SPEAr: clk: Add General Purpose Timer " Viresh Kumar
2012-04-17 11:15 ` [PATCH 13/13] SPEAr: Call clk_prepare() before calling clk_enable Viresh Kumar
2012-04-17 17:46 ` Sergei Shtylyov
2012-04-18 21:17 ` Turquette, Mike
[not found] ` <CAOh2x=maawrRjHhE3oGXfMOvsUbCkp9gWA_Kq-S0Dh7r6co6VA@mail.gmail.com>
2012-04-19 18:56 ` Turquette, Mike
2012-04-17 14:34 ` [PATCH 00/13] SPEAr: Move to common clock framework Arnd Bergmann
2012-04-17 14:57 ` Shawn Guo
2012-04-18 20:49 ` Turquette, Mike
2012-04-18 20:45 ` Turquette, Mike
2012-04-18 21:13 ` Sascha Hauer
2012-04-18 21:22 ` Turquette, Mike
2012-04-18 21:25 ` Turquette, Mike
[not found] ` <CAOh2x=nhZLQejWJb1Wdv=G9vU0hq+8CO0SSx95qQUJogL5ftNQ@mail.gmail.com>
2012-04-19 0:17 ` Turquette, Mike
2012-04-19 8:57 ` Arnd Bergmann
2012-04-19 9:16 ` Viresh Kumar
2012-04-19 10:53 ` Arnd Bergmann
2012-04-19 19:01 ` Turquette, Mike
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6162129d0c12ebfd86d0c68ab410fd3b1d7e36ce.1334660431.git.viresh.kumar@st.com \
--to=viresh.kumar@st.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).