#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/interrupt.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/machine.h>
#include <linux/slab.h>
#include <linux/ktime.h>
#include <linux/platform_device.h>
#include <linux/mfd/arizona/core.h>
#include <linux/mfd/arizona/registers.h>
#include "arizona.h"
static const char * const wm5102_core_supplies[] = …;
int arizona_clk32k_enable(struct arizona *arizona)
{ … }
EXPORT_SYMBOL_GPL(…);
int arizona_clk32k_disable(struct arizona *arizona)
{ … }
EXPORT_SYMBOL_GPL(…);
static irqreturn_t arizona_clkgen_err(int irq, void *data)
{ … }
static irqreturn_t arizona_underclocked(int irq, void *data)
{ … }
static irqreturn_t arizona_overclocked(int irq, void *data)
{ … }
#define ARIZONA_REG_POLL_DELAY_US …
static inline bool arizona_poll_reg_delay(ktime_t timeout)
{ … }
static int arizona_poll_reg(struct arizona *arizona,
int timeout_ms, unsigned int reg,
unsigned int mask, unsigned int target)
{ … }
static int arizona_wait_for_boot(struct arizona *arizona)
{ … }
static inline void arizona_enable_reset(struct arizona *arizona)
{ … }
static void arizona_disable_reset(struct arizona *arizona)
{ … }
struct arizona_sysclk_state { … };
static int arizona_enable_freerun_sysclk(struct arizona *arizona,
struct arizona_sysclk_state *state)
{ … }
static int arizona_disable_freerun_sysclk(struct arizona *arizona,
struct arizona_sysclk_state *state)
{ … }
static int wm5102_apply_hardware_patch(struct arizona *arizona)
{ … }
static const struct reg_sequence wm5110_sleep_patch[] = …;
static int wm5110_apply_sleep_patch(struct arizona *arizona)
{ … }
static int wm5102_clear_write_sequencer(struct arizona *arizona)
{ … }
static int arizona_isolate_dcvdd(struct arizona *arizona)
{ … }
static int arizona_connect_dcvdd(struct arizona *arizona)
{ … }
static int arizona_is_jack_det_active(struct arizona *arizona)
{ … }
static int arizona_runtime_resume(struct device *dev)
{ … }
static int arizona_runtime_suspend(struct device *dev)
{ … }
static int arizona_suspend(struct device *dev)
{ … }
static int arizona_suspend_noirq(struct device *dev)
{ … }
static int arizona_resume_noirq(struct device *dev)
{ … }
static int arizona_resume(struct device *dev)
{ … }
EXPORT_GPL_DEV_PM_OPS(arizona_pm_ops) = …;
#ifdef CONFIG_OF
static int arizona_of_get_core_pdata(struct arizona *arizona)
{ … }
#else
static inline int arizona_of_get_core_pdata(struct arizona *arizona)
{
return 0;
}
#endif
static const struct mfd_cell early_devs[] = …;
static const char * const wm5102_supplies[] = …;
static const struct mfd_cell wm5102_devs[] = …;
static const struct mfd_cell wm5110_devs[] = …;
static const char * const cs47l24_supplies[] = …;
static const struct mfd_cell cs47l24_devs[] = …;
static const char * const wm8997_supplies[] = …;
static const struct mfd_cell wm8997_devs[] = …;
static const struct mfd_cell wm8998_devs[] = …;
int arizona_dev_init(struct arizona *arizona)
{ … }
EXPORT_SYMBOL_GPL(…);
int arizona_dev_exit(struct arizona *arizona)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;