linux/drivers/regulator/as3711-regulator.c

// SPDX-License-Identifier: GPL-2.0
/*
 * AS3711 PMIC regulator driver, using DCDC Step Down and LDO supplies
 *
 * Copyright (C) 2012 Renesas Electronics Corporation
 * Author: Guennadi Liakhovetski, <[email protected]>
 */

#include <linux/err.h>
#include <linux/init.h>
#include <linux/mfd/as3711.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>

/*
 * The regulator API supports 4 modes of operataion: FAST, NORMAL, IDLE and
 * STANDBY. We map them in the following way to AS3711 SD1-4 DCDC modes:
 * FAST:	sdX_fast=1
 * NORMAL:	low_noise=1
 * IDLE:	low_noise=0
 */

static int as3711_set_mode_sd(struct regulator_dev *rdev, unsigned int mode)
{}

static unsigned int as3711_get_mode_sd(struct regulator_dev *rdev)
{}

static const struct regulator_ops as3711_sd_ops =;

static const struct regulator_ops as3711_aldo_ops =;

static const struct regulator_ops as3711_dldo_ops =;

static const struct linear_range as3711_sd_ranges[] =;

static const struct linear_range as3711_aldo_ranges[] =;

static const struct linear_range as3711_dldo_ranges[] =;

#define AS3711_REG(_id, _en_reg, _en_bit, _vmask, _sfx)

static const struct regulator_desc as3711_reg_desc[] =;

#define AS3711_REGULATOR_NUM

static struct of_regulator_match
as3711_regulator_matches[AS3711_REGULATOR_NUM] =;

static int as3711_regulator_parse_dt(struct device *dev,
				struct device_node **of_node, const int count)
{}

static int as3711_regulator_probe(struct platform_device *pdev)
{}

static struct platform_driver as3711_regulator_driver =;

static int __init as3711_regulator_init(void)
{}
subsys_initcall(as3711_regulator_init);

static void __exit as3711_regulator_exit(void)
{}
module_exit(as3711_regulator_exit);

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_ALIAS();
MODULE_LICENSE();