#include <linux/clk-provider.h>
#include <linux/clkdev.h>
#include <linux/regmap.h>
#include <linux/device.h>
#include "tlv320aic32x4.h"
#define to_clk_aic32x4(_hw) …
struct clk_aic32x4 { … };
struct clk_aic32x4_pll_muldiv { … };
struct aic32x4_clkdesc { … };
static int clk_aic32x4_pll_prepare(struct clk_hw *hw)
{ … }
static void clk_aic32x4_pll_unprepare(struct clk_hw *hw)
{ … }
static int clk_aic32x4_pll_is_prepared(struct clk_hw *hw)
{ … }
static int clk_aic32x4_pll_get_muldiv(struct clk_aic32x4 *pll,
struct clk_aic32x4_pll_muldiv *settings)
{ … }
static int clk_aic32x4_pll_set_muldiv(struct clk_aic32x4 *pll,
struct clk_aic32x4_pll_muldiv *settings)
{ … }
static unsigned long clk_aic32x4_pll_calc_rate(
struct clk_aic32x4_pll_muldiv *settings,
unsigned long parent_rate)
{ … }
static int clk_aic32x4_pll_calc_muldiv(struct clk_aic32x4_pll_muldiv *settings,
unsigned long rate, unsigned long parent_rate)
{ … }
static unsigned long clk_aic32x4_pll_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static int clk_aic32x4_pll_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{ … }
static int clk_aic32x4_pll_set_rate(struct clk_hw *hw,
unsigned long rate,
unsigned long parent_rate)
{ … }
static int clk_aic32x4_pll_set_parent(struct clk_hw *hw, u8 index)
{ … }
static u8 clk_aic32x4_pll_get_parent(struct clk_hw *hw)
{ … }
static const struct clk_ops aic32x4_pll_ops = …;
static int clk_aic32x4_codec_clkin_set_parent(struct clk_hw *hw, u8 index)
{ … }
static u8 clk_aic32x4_codec_clkin_get_parent(struct clk_hw *hw)
{ … }
static const struct clk_ops aic32x4_codec_clkin_ops = …;
static int clk_aic32x4_div_prepare(struct clk_hw *hw)
{ … }
static void clk_aic32x4_div_unprepare(struct clk_hw *hw)
{ … }
static int clk_aic32x4_div_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{ … }
static int clk_aic32x4_div_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{ … }
static unsigned long clk_aic32x4_div_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static const struct clk_ops aic32x4_div_ops = …;
static int clk_aic32x4_bdiv_set_parent(struct clk_hw *hw, u8 index)
{ … }
static u8 clk_aic32x4_bdiv_get_parent(struct clk_hw *hw)
{ … }
static const struct clk_ops aic32x4_bdiv_ops = …;
static struct aic32x4_clkdesc aic32x4_clkdesc_array[] = …;
static struct clk *aic32x4_register_clk(struct device *dev,
struct aic32x4_clkdesc *desc)
{ … }
int aic32x4_register_clocks(struct device *dev, const char *mclk_name)
{ … }
EXPORT_SYMBOL_GPL(…);