#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/err.h>
#include <linux/string.h>
static inline u32 clk_gate_readl(struct clk_gate *gate)
{ … }
static inline void clk_gate_writel(struct clk_gate *gate, u32 val)
{ … }
static void clk_gate_endisable(struct clk_hw *hw, int enable)
{ … }
static int clk_gate_enable(struct clk_hw *hw)
{ … }
static void clk_gate_disable(struct clk_hw *hw)
{ … }
int clk_gate_is_enabled(struct clk_hw *hw)
{ … }
EXPORT_SYMBOL_GPL(…);
const struct clk_ops clk_gate_ops = …;
EXPORT_SYMBOL_GPL(…);
struct clk_hw *__clk_hw_register_gate(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,
void __iomem *reg, u8 bit_idx,
u8 clk_gate_flags, spinlock_t *lock)
{ … }
EXPORT_SYMBOL_GPL(…);
struct clk *clk_register_gate(struct device *dev, const char *name,
const char *parent_name, unsigned long flags,
void __iomem *reg, u8 bit_idx,
u8 clk_gate_flags, spinlock_t *lock)
{ … }
EXPORT_SYMBOL_GPL(…);
void clk_unregister_gate(struct clk *clk)
{ … }
EXPORT_SYMBOL_GPL(…);
void clk_hw_unregister_gate(struct clk_hw *hw)
{ … }
EXPORT_SYMBOL_GPL(…);
static void devm_clk_hw_release_gate(struct device *dev, void *res)
{ … }
struct clk_hw *__devm_clk_hw_register_gate(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,
void __iomem *reg, u8 bit_idx,
u8 clk_gate_flags, spinlock_t *lock)
{ … }
EXPORT_SYMBOL_GPL(…);