root/drivers/clk/sunxi-ng/ccu_phase.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. hw_to_ccu_phase

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (c) 2016 Maxime Ripard. All rights reserved.
   4  */
   5 
   6 #ifndef _CCU_PHASE_H_
   7 #define _CCU_PHASE_H_
   8 
   9 #include <linux/clk-provider.h>
  10 
  11 #include "ccu_common.h"
  12 
  13 struct ccu_phase {
  14         u8                      shift;
  15         u8                      width;
  16 
  17         struct ccu_common       common;
  18 };
  19 
  20 #define SUNXI_CCU_PHASE(_struct, _name, _parent, _reg, _shift, _width, _flags) \
  21         struct ccu_phase _struct = {                                    \
  22                 .shift  = _shift,                                       \
  23                 .width  = _width,                                       \
  24                 .common = {                                             \
  25                         .reg            = _reg,                         \
  26                         .hw.init        = CLK_HW_INIT(_name,            \
  27                                                       _parent,          \
  28                                                       &ccu_phase_ops,   \
  29                                                       _flags),          \
  30                 }                                                       \
  31         }
  32 
  33 static inline struct ccu_phase *hw_to_ccu_phase(struct clk_hw *hw)
  34 {
  35         struct ccu_common *common = hw_to_ccu_common(hw);
  36 
  37         return container_of(common, struct ccu_phase, common);
  38 }
  39 
  40 extern const struct clk_ops ccu_phase_ops;
  41 
  42 #endif /* _CCU_PHASE_H_ */

/* [<][>][^][v][top][bottom][index][help] */