From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick DELAUNAY Date: Wed, 20 Nov 2019 10:04:27 +0000 Subject: [U-Boot] [PATCH v3 1/5] dm: clk: add stub for clk_disable_bulk when CONFIG_CLK is desactivated In-Reply-To: References: <20191112094214.12686-1-patrick.delaunay@st.com> <20191112094214.12686-2-patrick.delaunay@st.com>, Message-ID: <94c7cac6ac444640a09b091589fdd900@SFHDAG6NODE3.st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: u-boot@lists.denx.de Hi Simon >De : Simon Goldschmidt >Envoy=C3=A9 : mardi 12 novembre 2019 11:40 > > >Patrick Delaunay 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 >--- > >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 fo= r 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 =3D=3D0 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 =3D=3D 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 =3D 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 >