#include <linux/delay.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/slab.h>
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include "clk-gate.h"
#include "clk-mtk.h"
#include <dt-bindings/clock/mt8167-clk.h>
static DEFINE_SPINLOCK(mt8167_clk_lock);
static const struct mtk_fixed_clk fixed_clks[] = …;
static const struct mtk_fixed_factor top_divs[] = …;
static const char * const uart0_parents[] = …;
static const char * const gfmux_emi1x_parents[] = …;
static const char * const emi_ddrphy_parents[] = …;
static const char * const ahb_infra_parents[] = …;
static const char * const csw_mux_mfg_parents[] = …;
static const char * const msdc0_parents[] = …;
static const char * const camtg_mm_parents[] = …;
static const char * const pwm_mm_parents[] = …;
static const char * const uart1_parents[] = …;
static const char * const msdc1_parents[] = …;
static const char * const spm_52m_parents[] = …;
static const char * const pmicspi_parents[] = …;
static const char * const qaxi_aud26m_parents[] = …;
static const char * const aud_intbus_parents[] = …;
static const char * const nfi2x_pad_parents[] = …;
static const char * const nfi1x_pad_parents[] = …;
static const char * const mfg_mm_parents[] = …;
static const char * const ddrphycfg_parents[] = …;
static const char * const smi_mm_parents[] = …;
static const char * const usb_78m_parents[] = …;
static const char * const scam_mm_parents[] = …;
static const char * const spinor_parents[] = …;
static const char * const msdc2_parents[] = …;
static const char * const eth_parents[] = …;
static const char * const vdec_mm_parents[] = …;
static const char * const dpi0_mm_parents[] = …;
static const char * const dpi1_mm_parents[] = …;
static const char * const axi_mfg_in_parents[] = …;
static const char * const slow_mfg_parents[] = …;
static const char * const aud1_parents[] = …;
static const char * const aud2_parents[] = …;
static const char * const aud_engen1_parents[] = …;
static const char * const aud_engen2_parents[] = …;
static const char * const i2c_parents[] = …;
static const char * const aud_i2s0_m_parents[] = …;
static const char * const pwm_parents[] = …;
static const char * const spi_parents[] = …;
static const char * const aud_spdifin_parents[] = …;
static const char * const uart2_parents[] = …;
static const char * const bsi_parents[] = …;
static const char * const dbg_atclk_parents[] = …;
static const char * const csw_nfiecc_parents[] = …;
static const char * const nfiecc_parents[] = …;
static struct mtk_composite top_muxes[] __initdata = …;
static const char * const ifr_mux1_parents[] = …;
static const char * const ifr_eth_25m_parents[] = …;
static const char * const ifr_i2c0_parents[] = …;
static const struct mtk_composite ifr_muxes[] = …;
#define DIV_ADJ(_id, _name, _parent, _reg, _shift, _width) …
static const struct mtk_clk_divider top_adj_divs[] = …;
static const struct mtk_gate_regs top0_cg_regs = …;
static const struct mtk_gate_regs top1_cg_regs = …;
static const struct mtk_gate_regs top2_cg_regs = …;
static const struct mtk_gate_regs top3_cg_regs = …;
static const struct mtk_gate_regs top4_cg_regs = …;
static const struct mtk_gate_regs top5_cg_regs = …;
#define GATE_TOP0(_id, _name, _parent, _shift) …
#define GATE_TOP0_I(_id, _name, _parent, _shift) …
#define GATE_TOP1(_id, _name, _parent, _shift) …
#define GATE_TOP2(_id, _name, _parent, _shift) …
#define GATE_TOP2_I(_id, _name, _parent, _shift) …
#define GATE_TOP3(_id, _name, _parent, _shift) …
#define GATE_TOP4_I(_id, _name, _parent, _shift) …
#define GATE_TOP5(_id, _name, _parent, _shift) …
static const struct mtk_gate top_clks[] = …;
static const struct mtk_clk_desc topck_desc = …;
static const struct mtk_clk_desc infra_desc = …;
static const struct of_device_id of_match_clk_mt8167[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8167);
static struct platform_driver clk_mt8167_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;