#include <linux/clk-provider.h>
#include <linux/platform_device.h>
#include <dt-bindings/clock/mt8186-clk.h>
#include "clk-fhctl.h"
#include "clk-mtk.h"
#include "clk-pll.h"
#include "clk-pllfh.h"
#define MT8186_PLL_FMAX …
#define MT8186_PLL_FMIN …
#define MT8186_INTEGER_BITS …
#define PLL(_id, _name, _reg, _pwr_reg, _en_mask, _flags, \
_rst_bar_mask, _pcwbits, _pd_reg, _pd_shift, \
_tuner_reg, _tuner_en_reg, _tuner_en_bit, \
_pcw_reg) …
static const struct mtk_pll_data plls[] = …;
enum fh_pll_id { … };
#define FH(_pllid, _fhid, _offset) …
static struct mtk_pllfh_data pllfhs[] = …;
static const struct of_device_id of_match_clk_mt8186_apmixed[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8186_apmixed);
static int clk_mt8186_apmixed_probe(struct platform_device *pdev)
{ … }
static void clk_mt8186_apmixed_remove(struct platform_device *pdev)
{ … }
static struct platform_driver clk_mt8186_apmixed_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;