#include <linux/clk-provider.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#define to_clk_fixed_rate(_hw) …
static unsigned long clk_fixed_rate_recalc_rate(struct clk_hw *hw,
unsigned long parent_rate)
{ … }
static unsigned long clk_fixed_rate_recalc_accuracy(struct clk_hw *hw,
unsigned long parent_accuracy)
{ … }
const struct clk_ops clk_fixed_rate_ops = …;
EXPORT_SYMBOL_GPL(…);
static void devm_clk_hw_register_fixed_rate_release(struct device *dev, void *res)
{ … }
struct clk_hw *__clk_hw_register_fixed_rate(struct device *dev,
struct device_node *np, const char *name,
const char *parent_name, const struct clk_hw *parent_hw,
const struct clk_parent_data *parent_data, unsigned long flags,
unsigned long fixed_rate, unsigned long fixed_accuracy,
unsigned long clk_fixed_flags, bool devm)
{ … }
EXPORT_SYMBOL_GPL(…);
struct clk *clk_register_fixed_rate(struct device *dev, const char *name,
const char *parent_name, unsigned long flags,
unsigned long fixed_rate)
{ … }
EXPORT_SYMBOL_GPL(…);
void clk_unregister_fixed_rate(struct clk *clk)
{ … }
EXPORT_SYMBOL_GPL(…);
void clk_hw_unregister_fixed_rate(struct clk_hw *hw)
{ … }
EXPORT_SYMBOL_GPL(…);
#ifdef CONFIG_OF
static struct clk_hw *_of_fixed_clk_setup(struct device_node *node)
{ … }
void __init of_fixed_clk_setup(struct device_node *node)
{ … }
CLK_OF_DECLARE(fixed_clk, "fixed-clock", of_fixed_clk_setup);
static void of_fixed_clk_remove(struct platform_device *pdev)
{ … }
static int of_fixed_clk_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id of_fixed_clk_ids[] = …;
static struct platform_driver of_fixed_clk_driver = …;
builtin_platform_driver(…) …;
#endif