#include <linux/clk-provider.h>
#include <linux/export.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/err.h>
#include <linux/string.h>
#include "clk.h"
struct clk_gate2 { … };
#define to_clk_gate2(_hw) …
static void clk_gate2_do_shared_clks(struct clk_hw *hw, bool enable)
{ … }
static int clk_gate2_enable(struct clk_hw *hw)
{ … }
static void clk_gate2_disable(struct clk_hw *hw)
{ … }
static int clk_gate2_reg_is_enabled(void __iomem *reg, u8 bit_idx,
u8 cgr_val, u8 cgr_mask)
{ … }
static int clk_gate2_is_enabled(struct clk_hw *hw)
{ … }
static void clk_gate2_disable_unused(struct clk_hw *hw)
{ … }
static const struct clk_ops clk_gate2_ops = …;
struct clk_hw *clk_hw_register_gate2(struct device *dev, const char *name,
const char *parent_name, unsigned long flags,
void __iomem *reg, u8 bit_idx, u8 cgr_val, u8 cgr_mask,
u8 clk_gate2_flags, spinlock_t *lock,
unsigned int *share_count)
{ … }
EXPORT_SYMBOL_GPL(…);