#include <linux/mfd/core.h>
#include <linux/init.h>
#include <linux/of.h>
#define SUN8I_CODEC_ANALOG_BASE …
#define SUN8I_CODEC_ANALOG_SIZE …
struct prcm_data { … };
static const struct resource sun6i_a31_ar100_clk_res[] = …;
static const struct resource sun6i_a31_apb0_clk_res[] = …;
static const struct resource sun6i_a31_apb0_gates_clk_res[] = …;
static const struct resource sun6i_a31_ir_clk_res[] = …;
static const struct resource sun6i_a31_apb0_rstc_res[] = …;
static const struct resource sun8i_codec_analog_res[] = …;
static const struct mfd_cell sun6i_a31_prcm_subdevs[] = …;
static const struct mfd_cell sun8i_a23_prcm_subdevs[] = …;
static const struct prcm_data sun6i_a31_prcm_data = …;
static const struct prcm_data sun8i_a23_prcm_data = …;
static const struct of_device_id sun6i_prcm_dt_ids[] = …;
static int sun6i_prcm_probe(struct platform_device *pdev)
{ … }
static struct platform_driver sun6i_prcm_driver = …;
builtin_platform_driver(…) …;