linux/drivers/regulator/max20086-regulator.c

// SPDX-License-Identifier: GPL-2.0-or-later
//
// max20086-regulator.c - MAX20086-MAX20089 camera power protector driver
//
// Copyright (C) 2022 Laurent Pinchart <[email protected]>
// Copyright (C) 2018 Avnet, Inc.

#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/module.h>
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/of_regulator.h>
#include <linux/slab.h>

/* Register Offset */
#define MAX20086_REG_MASK
#define MAX20086_REG_CONFIG
#define MAX20086_REG_ID
#define MAX20086_REG_STAT1
#define MAX20086_REG_STAT2_L
#define MAX20086_REG_STAT2_H
#define MAX20086_REG_ADC1
#define MAX20086_REG_ADC2
#define MAX20086_REG_ADC3
#define MAX20086_REG_ADC4

/* DEVICE IDs */
#define MAX20086_DEVICE_ID_MAX20086
#define MAX20086_DEVICE_ID_MAX20087
#define MAX20086_DEVICE_ID_MAX20088
#define MAX20086_DEVICE_ID_MAX20089
#define DEVICE_ID_MASK

/* Register bits */
#define MAX20086_EN_MASK
#define MAX20086_EN_OUT1
#define MAX20086_EN_OUT2
#define MAX20086_EN_OUT3
#define MAX20086_EN_OUT4
#define MAX20086_INT_DISABLE_ALL

#define MAX20086_MAX_REGULATORS

struct max20086_chip_info {};

struct max20086_regulator {};

struct max20086 {};

static const struct regulator_ops max20086_buck_ops =;

#define MAX20086_REGULATOR_DESC(n)

static const char * const max20086_output_names[] =;

static const struct regulator_desc max20086_regulators[] =;

static int max20086_regulators_register(struct max20086 *chip)
{}

static int max20086_parse_regulators_dt(struct max20086 *chip, bool *boot_on)
{}

static int max20086_detect(struct max20086 *chip)
{}

static bool max20086_gen_is_writeable_reg(struct device *dev, unsigned int reg)
{}

static const struct regmap_config max20086_regmap_config =;

static int max20086_i2c_probe(struct i2c_client *i2c)
{}

static const struct max20086_chip_info max20086_chip_info =;

static const struct max20086_chip_info max20087_chip_info =;

static const struct max20086_chip_info max20088_chip_info =;

static const struct max20086_chip_info max20089_chip_info =;

static const struct i2c_device_id max20086_i2c_id[] =;
MODULE_DEVICE_TABLE(i2c, max20086_i2c_id);

static const struct of_device_id max20086_dt_ids[] __maybe_unused =;
MODULE_DEVICE_TABLE(of, max20086_dt_ids);

static struct i2c_driver max20086_regulator_driver =;

module_i2c_driver();

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