Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1694149 > unrolled thread
| Started by | <gabriel.fernandez@st.com> |
|---|---|
| First post | 2017-07-22 14:10 +0200 |
| Last post | 2017-07-22 14:10 +0200 |
| Articles | 3 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v8 0/3] clk: stm32h7: Add stm32h743 clock driver <gabriel.fernandez@st.com> - 2017-07-22 14:10 +0200
[PATCH v8 1/3] clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled() <gabriel.fernandez@st.com> - 2017-07-22 14:10 +0200
[PATCH v8 2/3] clk: gate: expose clk_gate_ops::is_enabled <gabriel.fernandez@st.com> - 2017-07-22 14:10 +0200
| From | <gabriel.fernandez@st.com> |
|---|---|
| Date | 2017-07-22 14:10 +0200 |
| Subject | [PATCH v8 0/3] clk: stm32h7: Add stm32h743 clock driver |
| Message-ID | <u61ol-1KH-5@gated-at.bofh.it> |
From: Gabriel Fernandez <gabriel.fernandez@st.com>
v8:
- Documentation remarks from Valdimir:
- rename 'rcc' node name into 'reset-clock-controller'
- delete source paths into the device tree bindings documentation
- other cosmetic changes
v7:
- Documentation: put 'st,syscfg' phandle in optional section
- rename nxp gate op with lpc32xx_ prefix
- Suppress useless code to disable/enable backup domain write protection
(backup domaine write is disable at the init and never enabled)
v6:
- rename clk_gate_is_enabled() in nxp lpc32xx driver.
- add EXPORT_SYMBOL_GPL(clk_gate_is_enabled)
v5:
- return bool instead int for enable_power_domain_write_protection()
- add comment to explain use of CLK_OF_DECLARE_DRIVER()
- add comment to explain why we can't use read_poll_timeout()
- expose clk_gate_ops::is_enabled
- use of __clk_mux_determine_rate & clk_gate_is_enabled to avoid wrapper
function.
v4:
- rename lock into stm32rcc_lock
- don't use clk_readl()
- remove useless parentheses with GENMASK
- fix parents of timer_x clocks
- suppress pll configuration from DT
- fix kbuild warning
v3:
- fix compatible string "stm32h7-pll" into "st,stm32h7-pll"
- fix bad parent name for mco2 clock
- set CLK_SET_RATE_PARENT for ltdc clock
- set CLK_IGNORE_UNUSED for pll1
- disable power domain write protection on disable ops if needed
v2:
- rename compatible string "stm32,pll" into "stm32h7-pll"
- suppress "st,pllrge" property
- suppress "st, frac-status" property
- change management of "st,frac" property
0 : enable 0 pll integer mode
other values : enable pll in fractional mode (value is
the fractional factor)
Gabriel Fernandez (3):
clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled()
clk: gate: expose clk_gate_ops::is_enabled
clk: stm32h7: Add stm32h743 clock driver
.../devicetree/bindings/clock/st,stm32h7-rcc.txt | 71 +
drivers/clk/Makefile | 1 +
drivers/clk/clk-gate.c | 3 +-
drivers/clk/clk-stm32h7.c | 1410 ++++++++++++++++++++
drivers/clk/nxp/clk-lpc32xx.c | 12 +-
include/dt-bindings/clock/stm32h7-clks.h | 165 +++
include/dt-bindings/mfd/stm32h7-rcc.h | 136 ++
include/linux/clk-provider.h | 1 +
8 files changed, 1792 insertions(+), 7 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/st,stm32h7-rcc.txt
create mode 100644 drivers/clk/clk-stm32h7.c
create mode 100644 include/dt-bindings/clock/stm32h7-clks.h
create mode 100644 include/dt-bindings/mfd/stm32h7-rcc.h
--
1.9.1
[toc] | [next] | [standalone]
| From | <gabriel.fernandez@st.com> |
|---|---|
| Date | 2017-07-22 14:10 +0200 |
| Subject | [PATCH v8 1/3] clk: nxp: clk-lpc32xx: rename clk_gate_is_enabled() |
| Message-ID | <u61ol-1KH-9@gated-at.bofh.it> |
| In reply to | #1694149 |
From: Gabriel Fernandez <gabriel.fernandez@st.com>
We need to export clk_gate_is_enabled() from clk framework, then
to avoid compilation issue we have to rename clk_gate_is_enabled()
in NXP LPC32xx clock driver.
We changed all gate op with 'lpc32xx_' prefix:
lpc32xx_clk_gate_enable(),
lpc32xx_clk_gate_disable(),
lpc32xx_clk_gate_is_enabled().
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Acked-by: Vladimir Zapolskiy <vz@mleia.com>
---
drivers/clk/nxp/clk-lpc32xx.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/clk/nxp/clk-lpc32xx.c b/drivers/clk/nxp/clk-lpc32xx.c
index 5b98ff9..7b359af 100644
--- a/drivers/clk/nxp/clk-lpc32xx.c
+++ b/drivers/clk/nxp/clk-lpc32xx.c
@@ -885,7 +885,7 @@ static unsigned long clk_usb_i2c_recalc_rate(struct clk_hw *hw,
.recalc_rate = clk_usb_i2c_recalc_rate,
};
-static int clk_gate_enable(struct clk_hw *hw)
+static int lpc32xx_clk_gate_enable(struct clk_hw *hw)
{
struct lpc32xx_clk_gate *clk = to_lpc32xx_gate(hw);
u32 mask = BIT(clk->bit_idx);
@@ -894,7 +894,7 @@ static int clk_gate_enable(struct clk_hw *hw)
return regmap_update_bits(clk_regmap, clk->reg, mask, val);
}
-static void clk_gate_disable(struct clk_hw *hw)
+static void lpc32xx_clk_gate_disable(struct clk_hw *hw)
{
struct lpc32xx_clk_gate *clk = to_lpc32xx_gate(hw);
u32 mask = BIT(clk->bit_idx);
@@ -903,7 +903,7 @@ static void clk_gate_disable(struct clk_hw *hw)
regmap_update_bits(clk_regmap, clk->reg, mask, val);
}
-static int clk_gate_is_enabled(struct clk_hw *hw)
+static int lpc32xx_clk_gate_is_enabled(struct clk_hw *hw)
{
struct lpc32xx_clk_gate *clk = to_lpc32xx_gate(hw);
u32 val;
@@ -916,9 +916,9 @@ static int clk_gate_is_enabled(struct clk_hw *hw)
}
static const struct clk_ops lpc32xx_clk_gate_ops = {
- .enable = clk_gate_enable,
- .disable = clk_gate_disable,
- .is_enabled = clk_gate_is_enabled,
+ .enable = lpc32xx_clk_gate_enable,
+ .disable = lpc32xx_clk_gate_disable,
+ .is_enabled = lpc32xx_clk_gate_is_enabled,
};
#define div_mask(width) ((1 << (width)) - 1)
--
1.9.1
[toc] | [prev] | [next] | [standalone]
| From | <gabriel.fernandez@st.com> |
|---|---|
| Date | 2017-07-22 14:10 +0200 |
| Subject | [PATCH v8 2/3] clk: gate: expose clk_gate_ops::is_enabled |
| Message-ID | <u61om-1KH-17@gated-at.bofh.it> |
| In reply to | #1694149 |
From: Gabriel Fernandez <gabriel.fernandez@st.com>
This patch exposes clk_gate_ops::is_enabled as functions
that can be directly called and assigned in places like this so
we don't need wrapper functions that do nothing besides forward
the call.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Suggested-by: Stephen Boyd <sboyd@codeaurora.org>
---
drivers/clk/clk-gate.c | 3 ++-
include/linux/clk-provider.h | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/clk-gate.c b/drivers/clk/clk-gate.c
index 4e0c054a..dd82485 100644
--- a/drivers/clk/clk-gate.c
+++ b/drivers/clk/clk-gate.c
@@ -86,7 +86,7 @@ static void clk_gate_disable(struct clk_hw *hw)
clk_gate_endisable(hw, 0);
}
-static int clk_gate_is_enabled(struct clk_hw *hw)
+int clk_gate_is_enabled(struct clk_hw *hw)
{
u32 reg;
struct clk_gate *gate = to_clk_gate(hw);
@@ -101,6 +101,7 @@ static int clk_gate_is_enabled(struct clk_hw *hw)
return reg ? 1 : 0;
}
+EXPORT_SYMBOL_GPL(clk_gate_is_enabled);
const struct clk_ops clk_gate_ops = {
.enable = clk_gate_enable,
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index c59c625..e9587ab 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -343,6 +343,7 @@ struct clk_hw *clk_hw_register_gate(struct device *dev, const char *name,
u8 clk_gate_flags, spinlock_t *lock);
void clk_unregister_gate(struct clk *clk);
void clk_hw_unregister_gate(struct clk_hw *hw);
+int clk_gate_is_enabled(struct clk_hw *hw);
struct clk_div_table {
unsigned int val;
--
1.9.1
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web