#include <linux/clk-provider.h>
#include <linux/regmap.h>
#include "sun4i_tcon.h"
#include "sun4i_tcon_dclk.h"
struct sun4i_dclk { … };
static inline struct sun4i_dclk *hw_to_dclk(struct clk_hw *hw)
{ … }
static void sun4i_dclk_disable(struct clk_hw *hw)
{ … }
static int sun4i_dclk_enable(struct clk_hw *hw)
{ … }
static int sun4i_dclk_is_enabled(struct clk_hw *hw)
{ … }
static unsigned long sun4i_dclk_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static long sun4i_dclk_round_rate(struct clk_hw *hw, unsigned long rate,
unsigned long *parent_rate)
{ … }
static int sun4i_dclk_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{ … }
static int sun4i_dclk_get_phase(struct clk_hw *hw)
{ … }
static int sun4i_dclk_set_phase(struct clk_hw *hw, int degrees)
{ … }
static const struct clk_ops sun4i_dclk_ops = …;
int sun4i_dclk_create(struct device *dev, struct sun4i_tcon *tcon)
{ … }
EXPORT_SYMBOL(…);
int sun4i_dclk_free(struct sun4i_tcon *tcon)
{ … }
EXPORT_SYMBOL(…);