#include <linux/device.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/notifier.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/mfd/madera/core.h>
#include <linux/mfd/madera/registers.h>
#include "madera.h"
#define CS47L15_SILICON_ID …
#define CS47L35_SILICON_ID …
#define CS47L85_SILICON_ID …
#define CS47L90_SILICON_ID …
#define CS47L92_SILICON_ID …
#define MADERA_32KZ_MCLK2 …
#define MADERA_RESET_MIN_US …
#define MADERA_RESET_MAX_US …
#define ERRATA_DCVDD_MIN_US …
#define ERRATA_DCVDD_MAX_US …
static const char * const madera_core_supplies[] = …;
static const struct mfd_cell madera_ldo1_devs[] = …;
static const char * const cs47l15_supplies[] = …;
static const struct mfd_cell cs47l15_devs[] = …;
static const char * const cs47l35_supplies[] = …;
static const struct mfd_cell cs47l35_devs[] = …;
static const char * const cs47l85_supplies[] = …;
static const struct mfd_cell cs47l85_devs[] = …;
static const char * const cs47l90_supplies[] = …;
static const struct mfd_cell cs47l90_devs[] = …;
static const char * const cs47l92_supplies[] = …;
static const struct mfd_cell cs47l92_devs[] = …;
const char *madera_name_from_type(enum madera_type type)
{ … }
EXPORT_SYMBOL_GPL(…);
#define MADERA_BOOT_POLL_INTERVAL_USEC …
#define MADERA_BOOT_POLL_TIMEOUT_USEC …
static int madera_wait_for_boot_noack(struct madera *madera)
{ … }
static int madera_wait_for_boot(struct madera *madera)
{ … }
static int madera_soft_reset(struct madera *madera)
{ … }
static void madera_enable_hard_reset(struct madera *madera)
{ … }
static void madera_disable_hard_reset(struct madera *madera)
{ … }
static int __maybe_unused madera_runtime_resume(struct device *dev)
{ … }
static int __maybe_unused madera_runtime_suspend(struct device *dev)
{ … }
const struct dev_pm_ops madera_pm_ops = …;
EXPORT_SYMBOL_GPL(…);
const struct of_device_id madera_of_match[] = …;
MODULE_DEVICE_TABLE(of, madera_of_match);
EXPORT_SYMBOL_GPL(…);
static int madera_get_reset_gpio(struct madera *madera)
{ … }
static void madera_set_micbias_info(struct madera *madera)
{ … }
int madera_dev_init(struct madera *madera)
{ … }
EXPORT_SYMBOL_GPL(…);
int madera_dev_exit(struct madera *madera)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;