#include <linux/clk-provider.h>
#include <linux/io.h>
#include "sun4i_hdmi.h"
struct sun4i_tmds { … };
static inline struct sun4i_tmds *hw_to_tmds(struct clk_hw *hw)
{ … }
static unsigned long sun4i_tmds_calc_divider(unsigned long rate,
unsigned long parent_rate,
u8 div_offset,
u8 *div,
bool *half)
{ … }
static int sun4i_tmds_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{ … }
static unsigned long sun4i_tmds_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static int sun4i_tmds_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{ … }
static u8 sun4i_tmds_get_parent(struct clk_hw *hw)
{ … }
static int sun4i_tmds_set_parent(struct clk_hw *hw, u8 index)
{ … }
static const struct clk_ops sun4i_tmds_ops = …;
int sun4i_tmds_create(struct sun4i_hdmi *hdmi)
{ … }