#include <linux/err.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/export.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/mfd/max77693.h>
#include <linux/mfd/max77693-common.h>
#include <linux/mfd/max77693-private.h>
#include <linux/mfd/max77843-private.h>
#include <linux/regulator/of_regulator.h>
#include <linux/regmap.h>
enum max77843_regulator_type { … };
struct chg_reg_data { … };
static int max77693_chg_get_current_limit(struct regulator_dev *rdev)
{ … }
static int max77693_chg_set_current_limit(struct regulator_dev *rdev,
int min_uA, int max_uA)
{ … }
static struct regmap *max77693_get_regmap(enum max77693_types type,
struct max77693_dev *max77693,
int reg_id)
{ … }
static const unsigned int max77693_safeout_table[] = …;
static const struct regulator_ops max77693_safeout_ops = …;
static const struct regulator_ops max77693_charger_ops = …;
#define max77693_regulator_desc_esafeout(_num) …
static const struct regulator_desc max77693_supported_regulators[] = …;
static const struct chg_reg_data max77693_chg_reg_data = …;
#define max77843_regulator_desc_esafeout(num) …
static const struct regulator_desc max77843_supported_regulators[] = …;
static const struct chg_reg_data max77843_chg_reg_data = …;
static int max77693_pmic_probe(struct platform_device *pdev)
{ … }
static const struct platform_device_id max77693_pmic_id[] = …;
MODULE_DEVICE_TABLE(platform, max77693_pmic_id);
static struct platform_driver max77693_pmic_driver = …;
static int __init max77693_pmic_init(void)
{ … }
subsys_initcall(max77693_pmic_init);
static void __exit max77693_pmic_cleanup(void)
{ … }
module_exit(max77693_pmic_cleanup);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;