#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of_address.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <dt-bindings/clock/imx93-clock.h>
#include "clk.h"
enum clk_sel { … };
static u32 share_count_sai1;
static u32 share_count_sai2;
static u32 share_count_sai3;
static u32 share_count_mub;
static u32 share_count_pdm;
static const char * const a55_core_sels[] = …;
static const char *parent_names[MAX_SEL][4] = …;
static const struct imx93_clk_root { … } root_array[] = …;
static const struct imx93_clk_ccgr { … } ccgr_array[] = …;
static struct clk_hw_onecell_data *clk_hw_data;
static struct clk_hw **clks;
static int imx93_clocks_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id imx93_clk_of_match[] = …;
MODULE_DEVICE_TABLE(of, imx93_clk_of_match);
static struct platform_driver imx93_clk_driver = …;
module_platform_driver(…) …;
module_param(mcore_booted, bool, 0444);
MODULE_PARM_DESC(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;