linux/drivers/clk/qcom/clk-spmi-pmic-div.c

// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
 */

#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/clk-provider.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/log2.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/types.h>

#define REG_DIV_CTL1
#define DIV_CTL1_DIV_FACTOR_MASK

#define REG_EN_CTL
#define REG_EN_MASK

struct clkdiv {};

static inline struct clkdiv *to_clkdiv(struct clk_hw *hw)
{}

static inline unsigned int div_factor_to_div(unsigned int div_factor)
{}

static inline unsigned int div_to_div_factor(unsigned int div)
{}

static bool is_spmi_pmic_clkdiv_enabled(struct clkdiv *clkdiv)
{}

static int
__spmi_pmic_clkdiv_set_enable_state(struct clkdiv *clkdiv, bool enable,
				    unsigned int div_factor)
{}

static int spmi_pmic_clkdiv_set_enable_state(struct clkdiv *clkdiv, bool enable)
{}

static int clk_spmi_pmic_div_enable(struct clk_hw *hw)
{}

static void clk_spmi_pmic_div_disable(struct clk_hw *hw)
{}

static long clk_spmi_pmic_div_round_rate(struct clk_hw *hw, unsigned long rate,
					 unsigned long *parent_rate)
{}

static unsigned long
clk_spmi_pmic_div_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
{}

static int clk_spmi_pmic_div_set_rate(struct clk_hw *hw, unsigned long rate,
				      unsigned long parent_rate)
{}

static const struct clk_ops clk_spmi_pmic_div_ops =;

struct spmi_pmic_div_clk_cc {};

static struct clk_hw *
spmi_pmic_div_clk_hw_get(struct of_phandle_args *clkspec, void *data)
{}

static int spmi_pmic_clkdiv_probe(struct platform_device *pdev)
{}

static const struct of_device_id spmi_pmic_clkdiv_match_table[] =;
MODULE_DEVICE_TABLE(of, spmi_pmic_clkdiv_match_table);

static struct platform_driver spmi_pmic_clkdiv_driver =;
module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();