#include <linux/bitops.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/mfd/lochnagar.h>
#include <linux/mfd/lochnagar1_regs.h>
#include <linux/mfd/lochnagar2_regs.h>
static const struct regulator_ops lochnagar_micvdd_ops = …;
static const struct linear_range lochnagar_micvdd_ranges[] = …;
static int lochnagar_micbias_enable(struct regulator_dev *rdev)
{ … }
static int lochnagar_micbias_disable(struct regulator_dev *rdev)
{ … }
static const struct regulator_ops lochnagar_micbias_ops = …;
static const struct regulator_ops lochnagar_vddcore_ops = …;
static const struct linear_range lochnagar_vddcore_ranges[] = …;
enum lochnagar_regulators { … };
static int lochnagar_micbias_of_parse(struct device_node *np,
const struct regulator_desc *desc,
struct regulator_config *config)
{ … }
static const struct regulator_desc lochnagar_regulators[] = …;
static const struct of_device_id lochnagar_of_match[] = …;
MODULE_DEVICE_TABLE(of, lochnagar_of_match);
static int lochnagar_regulator_probe(struct platform_device *pdev)
{ … }
static struct platform_driver lochnagar_regulator_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;