
Hi Simon
De : Simon Goldschmidt simon.k.r.goldschmidt@gmail.com Envoyé : mardi 12 novembre 2019 11:40
Patrick Delaunay patrick.delaunay@st.com schrieb am Di., 12. Nov. 2019, 10:42: Add stub for clk_disable_bulk() when CONFIG_CLK is desactivated.
That avoid compilation issue (undefined reference to `clk_disable_bulk') for code:
clk_disable_bulk(&priv->clks); clk_release_bulk(&priv->clks);
Signed-off-by: Patrick Delaunay patrick.delaunay@st.com
Changes in v3:
- Add stub for clk_disable_bulk
Changes in v2: None
include/clk.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/include/clk.h b/include/clk.h index a5ee53d94a..6f0b0fe4bc 100644 --- a/include/clk.h +++ b/include/clk.h @@ -379,7 +379,11 @@ int clk_disable(struct clk *clk);
by clk_get_bulk().
- @return zero on success, or -ve error code.
*/
- #if CONFIG_IS_ENABLED(CLK)
int clk_disable_bulk(struct clk_bulk *bulk); +#else +inline int clk_disable_bulk(struct clk_bulk *bulk) { return 0; } +#endif
Doing this inline at this place seems quite different than what is done for the other functions?
which functions ?
I see:
static inline int clk_get_by_index(struct udevice *dev, int index, struct clk *clk) { return -ENOSYS; }
static inline int clk_set_defaults(struct udevice *dev) { return 0; }
But I agree, that it is a simplified stub....
Disable clk bulk if OK only if bulk.count ==0 but if should be always the case if CONFIG_CLK is disabled (as clk_get_bulk return -ENOSYS).
A more complete (better ?) stub is :
inline int clk_disable_bulk(struct clk_bulk *bulk) { if (bulk && bulk->count == 0) return 0; else return -ENOSYS; }
I think about a other solution:
inline int clk_disable_bulk(struct clk_bulk *bulk) { return -ENOSYS; }
But that cause issue if the return value is tested by caller.
ret = clk_disable_bulk(bulk) if (ret) return ret;
Regards, Simon
Regards Patrick
/**
- clk_is_match - check if two clk's point to the same hardware clock
-- 2.17.1