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