linux/drivers/mfd/max8997.c

// SPDX-License-Identifier: GPL-2.0+
//
// max8997.c - mfd core driver for the Maxim 8966 and 8997
//
// Copyright (C) 2011 Samsung Electronics
// MyungJoo Ham <[email protected]>
//
// This driver is based on max8998.c

#include <linux/err.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/interrupt.h>
#include <linux/pm_runtime.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/mfd/core.h>
#include <linux/mfd/max8997.h>
#include <linux/mfd/max8997-private.h>

#define I2C_ADDR_PMIC
#define I2C_ADDR_MUIC
#define I2C_ADDR_BATTERY
#define I2C_ADDR_RTC
#define I2C_ADDR_HAPTIC

static const struct mfd_cell max8997_devs[] =;

#ifdef CONFIG_OF
static const struct of_device_id max8997_pmic_dt_match[] =;
#endif

int max8997_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest)
{}
EXPORT_SYMBOL_GPL();

int max8997_bulk_read(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
{}
EXPORT_SYMBOL_GPL();

int max8997_write_reg(struct i2c_client *i2c, u8 reg, u8 value)
{}
EXPORT_SYMBOL_GPL();

int max8997_bulk_write(struct i2c_client *i2c, u8 reg, int count, u8 *buf)
{}
EXPORT_SYMBOL_GPL();

int max8997_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask)
{}
EXPORT_SYMBOL_GPL();

/*
 * Only the common platform data elements for max8997 are parsed here from the
 * device tree. Other sub-modules of max8997 such as pmic, rtc and others have
 * to parse their own platform data elements from device tree.
 *
 * The max8997 platform data structure is instantiated here and the drivers for
 * the sub-modules need not instantiate another instance while parsing their
 * platform data.
 */
static struct max8997_platform_data *max8997_i2c_parse_dt_pdata(
					struct device *dev)
{}

static int max8997_i2c_probe(struct i2c_client *i2c)
{}

static const struct i2c_device_id max8997_i2c_id[] =;

static u8 max8997_dumpaddr_pmic[] =;

static u8 max8997_dumpaddr_muic[] =;

static u8 max8997_dumpaddr_haptic[] =;

static int max8997_freeze(struct device *dev)
{}

static int max8997_restore(struct device *dev)
{}

static int max8997_suspend(struct device *dev)
{}

static int max8997_resume(struct device *dev)
{}

static const struct dev_pm_ops max8997_pm =;

static struct i2c_driver max8997_i2c_driver =;

static int __init max8997_i2c_init(void)
{}
/* init early so consumer devices can complete system boot */
subsys_initcall(max8997_i2c_init);