#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/mfd/syscon.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include "clk-gate.h"
#include "clk-mtk.h"
#include "clk-mux.h"
#include <dt-bindings/clock/mt8192-clk.h>
#include <dt-bindings/reset/mt8192-resets.h>
static DEFINE_SPINLOCK(mt8192_clk_lock);
static const struct mtk_fixed_clk top_fixed_clks[] = …;
static const struct mtk_fixed_factor top_divs[] = …;
static const char * const axi_parents[] = …;
static const char * const spm_parents[] = …;
static const char * const scp_parents[] = …;
static const char * const bus_aximem_parents[] = …;
static const char * const disp_parents[] = …;
static const char * const mdp_parents[] = …;
static const char * const img_parents[] = …;
static const char * const ipe_parents[] = …;
static const char * const dpe_parents[] = …;
static const char * const cam_parents[] = …;
static const char * const ccu_parents[] = …;
static const char * const dsp7_parents[] = …;
static const char * const mfg_ref_parents[] = …;
static const char * const mfg_pll_parents[] = …;
static const char * const camtg_parents[] = …;
static const char * const uart_parents[] = …;
static const char * const spi_parents[] = …;
static const char * const msdc50_0_h_parents[] = …;
static const char * const msdc50_0_parents[] = …;
static const char * const msdc30_parents[] = …;
static const char * const audio_parents[] = …;
static const char * const aud_intbus_parents[] = …;
static const char * const pwrap_ulposc_parents[] = …;
static const char * const atb_parents[] = …;
static const char * const dpi_parents[] = …;
static const char * const scam_parents[] = …;
static const char * const disp_pwm_parents[] = …;
static const char * const usb_top_parents[] = …;
static const char * const ssusb_xhci_parents[] = …;
static const char * const i2c_parents[] = …;
static const char * const seninf_parents[] = …;
static const char * const tl_parents[] = …;
static const char * const dxcc_parents[] = …;
static const char * const aud_engen1_parents[] = …;
static const char * const aud_engen2_parents[] = …;
static const char * const aes_ufsfde_parents[] = …;
static const char * const ufs_parents[] = …;
static const char * const aud_1_parents[] = …;
static const char * const aud_2_parents[] = …;
static const char * const adsp_parents[] = …;
static const char * const dpmaif_main_parents[] = …;
static const char * const venc_parents[] = …;
static const char * const vdec_parents[] = …;
static const char * const camtm_parents[] = …;
static const char * const pwm_parents[] = …;
static const char * const audio_h_parents[] = …;
static const char * const spmi_mst_parents[] = …;
static const char * const aes_msdcfde_parents[] = …;
static const char * const sflash_parents[] = …;
static const char * const apll_i2s_m_parents[] = …;
static const struct mtk_mux top_mtk_muxes[] = …;
static struct mtk_composite top_muxes[] = …;
static const struct mtk_gate_regs infra0_cg_regs = …;
static const struct mtk_gate_regs infra1_cg_regs = …;
static const struct mtk_gate_regs infra2_cg_regs = …;
static const struct mtk_gate_regs infra3_cg_regs = …;
static const struct mtk_gate_regs infra4_cg_regs = …;
static const struct mtk_gate_regs infra5_cg_regs = …;
#define GATE_INFRA0(_id, _name, _parent, _shift) …
#define GATE_INFRA1_FLAGS(_id, _name, _parent, _shift, _flag) …
#define GATE_INFRA1(_id, _name, _parent, _shift) …
#define GATE_INFRA2(_id, _name, _parent, _shift) …
#define GATE_INFRA3_FLAGS(_id, _name, _parent, _shift, _flag) …
#define GATE_INFRA3(_id, _name, _parent, _shift) …
#define GATE_INFRA4(_id, _name, _parent, _shift) …
#define GATE_INFRA5_FLAGS(_id, _name, _parent, _shift, _flag) …
#define GATE_INFRA5(_id, _name, _parent, _shift) …
static const struct mtk_gate infra_clks[] = …;
static const struct mtk_gate_regs peri_cg_regs = …;
#define GATE_PERI(_id, _name, _parent, _shift) …
static const struct mtk_gate peri_clks[] = …;
static const struct mtk_gate_regs top_cg_regs = …;
#define GATE_TOP(_id, _name, _parent, _shift) …
static const struct mtk_gate top_clks[] = …;
static u16 infra_ao_rst_ofs[] = …;
static u16 infra_ao_idx_map[] = …;
static const struct mtk_clk_rst_desc clk_rst_desc = …;
static int clk_mt8192_reg_mfg_mux_notifier(struct device *dev, struct clk *clk)
{ … }
static const struct mtk_clk_desc infra_desc = …;
static const struct mtk_clk_desc peri_desc = …;
static const struct mtk_clk_desc topck_desc = …;
static const struct of_device_id of_match_clk_mt8192[] = …;
MODULE_DEVICE_TABLE(of, of_match_clk_mt8192);
static struct platform_driver clk_mt8192_drv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;