^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (C) 2013 Samsung Electronics Co., Ltd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Sylwester Nawrocki <s.nawrocki@samsung.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) struct clk_hw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct device;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct of_phandle_args;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) struct clk_hw *of_clk_get_hw(struct device_node *np,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) int index, const char *con_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #else /* !CONFIG_COMMON_CLK || !CONFIG_OF */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) static inline struct clk_hw *of_clk_get_hw(struct device_node *np,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int index, const char *con_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) return ERR_PTR(-ENOENT);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) struct clk_hw *clk_find_hw(const char *dev_id, const char *con_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #ifdef CONFIG_COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) struct clk *clk_hw_create_clk(struct device *dev, struct clk_hw *hw,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) const char *dev_id, const char *con_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) void __clk_put(struct clk *clk);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) /* All these casts to avoid ifdefs in clkdev... */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) static inline struct clk *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) clk_hw_create_clk(struct device *dev, struct clk_hw *hw, const char *dev_id,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) const char *con_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) return (struct clk *)hw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) static inline void __clk_put(struct clk *clk) { }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #endif