#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm_clock.h>
#include <linux/pm_runtime.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h>
#include "clk-alpha-pll.h"
#include "clk-branch.h"
#include "clk-rcg.h"
#include "clk-regmap.h"
#include "common.h"
#include "gdsc.h"
enum { … };
static const struct pll_vco fabia_vco[] = …;
static const struct alpha_pll_config lpass_lpaaudio_dig_pll_config = …;
static const u8 clk_alpha_pll_regs_offset[][PLL_OFF_MAX_REGS] = …;
static struct clk_alpha_pll lpass_lpaaudio_dig_pll = …;
static const struct clk_div_table
post_div_table_lpass_lpaaudio_dig_pll_out_odd[] = …;
static struct clk_alpha_pll_postdiv lpass_lpaaudio_dig_pll_out_odd = …;
static const struct parent_map lpass_core_cc_parent_map_0[] = …;
static const struct clk_parent_data lpass_core_cc_parent_data_0[] = …;
static const struct parent_map lpass_core_cc_parent_map_2[] = …;
static struct clk_rcg2 core_clk_src = …;
static const struct freq_tbl ftbl_ext_mclk0_clk_src[] = …;
static const struct freq_tbl ftbl_ext_lpaif_clk_src[] = …;
static struct clk_rcg2 ext_mclk0_clk_src = …;
static struct clk_rcg2 lpaif_pri_clk_src = …;
static struct clk_rcg2 lpaif_sec_clk_src = …;
static struct clk_branch lpass_audio_core_ext_mclk0_clk = …;
static struct clk_branch lpass_audio_core_lpaif_pri_ibit_clk = …;
static struct clk_branch lpass_audio_core_lpaif_sec_ibit_clk = …;
static struct clk_branch lpass_audio_core_sysnoc_mport_core_clk = …;
static struct clk_regmap *lpass_core_cc_sc7180_clocks[] = …;
static struct gdsc lpass_pdc_hm_gdsc = …;
static struct gdsc lpass_audio_hm_gdsc = …;
static struct gdsc lpass_core_hm_gdsc = …;
static struct gdsc *lpass_core_hm_sc7180_gdscs[] = …;
static struct gdsc *lpass_audio_hm_sc7180_gdscs[] = …;
static struct regmap_config lpass_core_cc_sc7180_regmap_config = …;
static const struct qcom_cc_desc lpass_core_hm_sc7180_desc = …;
static const struct qcom_cc_desc lpass_core_cc_sc7180_desc = …;
static const struct qcom_cc_desc lpass_audio_hm_sc7180_desc = …;
static int lpass_setup_runtime_pm(struct platform_device *pdev)
{ … }
static int lpass_core_cc_sc7180_probe(struct platform_device *pdev)
{ … }
static int lpass_hm_core_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id lpass_hm_sc7180_match_table[] = …;
MODULE_DEVICE_TABLE(of, lpass_hm_sc7180_match_table);
static const struct of_device_id lpass_core_cc_sc7180_match_table[] = …;
MODULE_DEVICE_TABLE(of, lpass_core_cc_sc7180_match_table);
static const struct dev_pm_ops lpass_pm_ops = …;
static struct platform_driver lpass_core_cc_sc7180_driver = …;
static struct platform_driver lpass_hm_sc7180_driver = …;
static int __init lpass_sc7180_init(void)
{ … }
subsys_initcall(lpass_sc7180_init);
static void __exit lpass_sc7180_exit(void)
{ … }
module_exit(lpass_sc7180_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;