linux/drivers/mfd/da9063-i2c.c

// SPDX-License-Identifier: GPL-2.0+
/* I2C support for Dialog DA9063
 *
 * Copyright 2012 Dialog Semiconductor Ltd.
 * Copyright 2013 Philipp Zabel, Pengutronix
 *
 * Author: Krystian Garbaciak, Dialog Semiconductor
 */

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/err.h>

#include <linux/mfd/core.h>
#include <linux/mfd/da9063/core.h>
#include <linux/mfd/da9063/registers.h>

#include <linux/of.h>
#include <linux/regulator/of_regulator.h>

/*
 * Raw I2C access required for just accessing chip and variant info before we
 * know which device is present. The info read from the device using this
 * approach is then used to select the correct regmap tables.
 */

#define DA9063_REG_PAGE_SIZE
#define DA9063_REG_PAGED_ADDR_MASK

enum da9063_page_sel_buf_fmt {};

enum da9063_paged_read_msgs {};

static int da9063_i2c_blockreg_read(struct i2c_client *client, u16 addr,
				    u8 *buf, int count)
{}

enum {};

static int da9063_get_device_type(struct i2c_client *i2c, struct da9063 *da9063)
{}

/*
 * Variant specific regmap configs
 */

static const struct regmap_range da9063_ad_readable_ranges[] =;

static const struct regmap_range da9063_ad_writeable_ranges[] =;

static const struct regmap_range da9063_ad_volatile_ranges[] =;

static const struct regmap_access_table da9063_ad_readable_table =;

static const struct regmap_access_table da9063_ad_writeable_table =;

static const struct regmap_access_table da9063_ad_volatile_table =;

static const struct regmap_range da9063_bb_readable_ranges[] =;

static const struct regmap_range da9063_bb_writeable_ranges[] =;

static const struct regmap_range da9063_bb_da_volatile_ranges[] =;

static const struct regmap_access_table da9063_bb_readable_table =;

static const struct regmap_access_table da9063_bb_writeable_table =;

static const struct regmap_access_table da9063_bb_da_volatile_table =;

static const struct regmap_range da9063l_bb_readable_ranges[] =;

static const struct regmap_range da9063l_bb_writeable_ranges[] =;

static const struct regmap_range da9063l_bb_da_volatile_ranges[] =;

static const struct regmap_access_table da9063l_bb_readable_table =;

static const struct regmap_access_table da9063l_bb_writeable_table =;

static const struct regmap_access_table da9063l_bb_da_volatile_table =;

static const struct regmap_range da9063_da_readable_ranges[] =;

static const struct regmap_range da9063_da_writeable_ranges[] =;

static const struct regmap_access_table da9063_da_readable_table =;

static const struct regmap_access_table da9063_da_writeable_table =;

static const struct regmap_range da9063l_da_readable_ranges[] =;

static const struct regmap_range da9063l_da_writeable_ranges[] =;

static const struct regmap_access_table da9063l_da_readable_table =;

static const struct regmap_access_table da9063l_da_writeable_table =;

static const struct regmap_range_cfg da9063_range_cfg[] =;

static struct regmap_config da9063_regmap_config =;

static const struct of_device_id da9063_dt_ids[] =;
MODULE_DEVICE_TABLE(of, da9063_dt_ids);
static int da9063_i2c_probe(struct i2c_client *i2c)
{}

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

static struct i2c_driver da9063_i2c_driver =;

module_i2c_driver();