#include <linux/clk-provider.h>
#include <linux/container_of.h>
#include <linux/err.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include "clk-mtk.h"
#include "clk-cpumux.h"
struct mtk_clk_cpumux { … };
static inline struct mtk_clk_cpumux *to_mtk_clk_cpumux(struct clk_hw *_hw)
{ … }
static u8 clk_cpumux_get_parent(struct clk_hw *hw)
{ … }
static int clk_cpumux_set_parent(struct clk_hw *hw, u8 index)
{ … }
static const struct clk_ops clk_cpumux_ops = …;
static struct clk_hw *
mtk_clk_register_cpumux(struct device *dev, const struct mtk_composite *mux,
struct regmap *regmap)
{ … }
static void mtk_clk_unregister_cpumux(struct clk_hw *hw)
{ … }
int mtk_clk_register_cpumuxes(struct device *dev, struct device_node *node,
const struct mtk_composite *clks, int num,
struct clk_hw_onecell_data *clk_data)
{ … }
EXPORT_SYMBOL_GPL(…);
void mtk_clk_unregister_cpumuxes(const struct mtk_composite *clks, int num,
struct clk_hw_onecell_data *clk_data)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_LICENSE(…) …;