#include <linux/clk-provider.h>
#include <linux/device.h>
#include <linux/io.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <dt-bindings/clock/imx8mp-clock.h>
#include "clk.h"
#define CLKEN0 …
#define CLKEN1 …
#define EARC …
#define SAI1_MCLK_SEL …
#define SAI2_MCLK_SEL …
#define SAI3_MCLK_SEL …
#define SAI5_MCLK_SEL …
#define SAI6_MCLK_SEL …
#define SAI7_MCLK_SEL …
#define PDM_SEL …
#define SAI_PLL_GNRL_CTL …
#define SAI_PLL_FDIVL_CTL0 …
#define SAI_PLL_FDIVL_CTL1 …
#define SAI_PLL_SSCG_CTL …
#define SAI_PLL_MNIT_CTL …
#define IPG_LP_CTRL …
#define SAIn_MCLK1_PARENT(n) …
SAIn_MCLK1_PARENT(…);
SAIn_MCLK1_PARENT(…);
SAIn_MCLK1_PARENT(…);
SAIn_MCLK1_PARENT(…);
SAIn_MCLK1_PARENT(…);
SAIn_MCLK1_PARENT(…);
static const struct clk_parent_data clk_imx8mp_audiomix_sai_mclk2_parents[] = …;
static const struct clk_parent_data clk_imx8mp_audiomix_pdm_parents[] = …;
static const struct clk_parent_data clk_imx8mp_audiomix_pll_parents[] = …;
static const struct clk_parent_data clk_imx8mp_audiomix_pll_bypass_sels[] = …;
#define CLK_GATE(gname, cname) …
#define CLK_SAIn(n) …
#define CLK_PDM …
struct clk_imx8mp_audiomix_sel { … };
static struct clk_imx8mp_audiomix_sel sels[] = …;
static const u16 audiomix_regs[] = …;
struct clk_imx8mp_audiomix_priv { … };
static void clk_imx8mp_audiomix_save_restore(struct device *dev, bool save)
{ … }
static int clk_imx8mp_audiomix_probe(struct platform_device *pdev)
{ … }
static void clk_imx8mp_audiomix_remove(struct platform_device *pdev)
{ … }
static int clk_imx8mp_audiomix_runtime_suspend(struct device *dev)
{ … }
static int clk_imx8mp_audiomix_runtime_resume(struct device *dev)
{ … }
static const struct dev_pm_ops clk_imx8mp_audiomix_pm_ops = …;
static const struct of_device_id clk_imx8mp_audiomix_of_match[] = …;
MODULE_DEVICE_TABLE(of, clk_imx8mp_audiomix_of_match);
static struct platform_driver clk_imx8mp_audiomix_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;