#include <linux/clk.h>
#include <linux/clkdev.h>
#include <linux/clk-provider.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include "microchip-isc-regs.h"
#include "microchip-isc.h"
static int isc_wait_clk_stable(struct clk_hw *hw)
{ … }
static int isc_clk_prepare(struct clk_hw *hw)
{ … }
static void isc_clk_unprepare(struct clk_hw *hw)
{ … }
static int isc_clk_enable(struct clk_hw *hw)
{ … }
static void isc_clk_disable(struct clk_hw *hw)
{ … }
static int isc_clk_is_enabled(struct clk_hw *hw)
{ … }
static unsigned long
isc_clk_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
{ … }
static int isc_clk_determine_rate(struct clk_hw *hw,
struct clk_rate_request *req)
{ … }
static int isc_clk_set_parent(struct clk_hw *hw, u8 index)
{ … }
static u8 isc_clk_get_parent(struct clk_hw *hw)
{ … }
static int isc_clk_set_rate(struct clk_hw *hw,
unsigned long rate,
unsigned long parent_rate)
{ … }
static const struct clk_ops isc_clk_ops = …;
static int isc_clk_register(struct isc_device *isc, unsigned int id)
{ … }
int microchip_isc_clk_init(struct isc_device *isc)
{ … }
EXPORT_SYMBOL_GPL(…);
void microchip_isc_clk_cleanup(struct isc_device *isc)
{ … }
EXPORT_SYMBOL_GPL(…);