linux/drivers/mfd/tps65217.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * tps65217.c
 *
 * TPS65217 chip family multi-function driver
 *
 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
 */

#include <linux/device.h>
#include <linux/err.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/slab.h>

#include <linux/mfd/core.h>
#include <linux/mfd/tps65217.h>

static const struct resource charger_resources[] =;

static const struct resource pb_resources[] =;

static void tps65217_irq_lock(struct irq_data *data)
{}

static void tps65217_irq_sync_unlock(struct irq_data *data)
{}

static void tps65217_irq_enable(struct irq_data *data)
{}

static void tps65217_irq_disable(struct irq_data *data)
{}

static struct irq_chip tps65217_irq_chip =;

static struct mfd_cell tps65217s[] =;

static irqreturn_t tps65217_irq_thread(int irq, void *data)
{}

static int tps65217_irq_map(struct irq_domain *h, unsigned int virq,
			irq_hw_number_t hw)
{}

static const struct irq_domain_ops tps65217_irq_domain_ops =;

static int tps65217_irq_init(struct tps65217 *tps, int irq)
{}

/**
 * tps65217_reg_read: Read a single tps65217 register.
 *
 * @tps: Device to read from.
 * @reg: Register to read.
 * @val: Contians the value
 */
int tps65217_reg_read(struct tps65217 *tps, unsigned int reg,
			unsigned int *val)
{}
EXPORT_SYMBOL_GPL();

/**
 * tps65217_reg_write: Write a single tps65217 register.
 *
 * @tps: Device to write to.
 * @reg: Register to write to.
 * @val: Value to write.
 * @level: Password protected level
 */
int tps65217_reg_write(struct tps65217 *tps, unsigned int reg,
			unsigned int val, unsigned int level)
{}
EXPORT_SYMBOL_GPL();

/**
 * tps65217_update_bits: Modify bits w.r.t mask, val and level.
 *
 * @tps: Device to write to.
 * @reg: Register to read-write to.
 * @mask: Mask.
 * @val: Value to write.
 * @level: Password protected level
 */
static int tps65217_update_bits(struct tps65217 *tps, unsigned int reg,
		unsigned int mask, unsigned int val, unsigned int level)
{}

int tps65217_set_bits(struct tps65217 *tps, unsigned int reg,
		unsigned int mask, unsigned int val, unsigned int level)
{}
EXPORT_SYMBOL_GPL();

int tps65217_clear_bits(struct tps65217 *tps, unsigned int reg,
		unsigned int mask, unsigned int level)
{}
EXPORT_SYMBOL_GPL();

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

static const struct regmap_config tps65217_regmap_config =;

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

static int tps65217_probe(struct i2c_client *client)
{}

static void tps65217_remove(struct i2c_client *client)
{}

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

static struct i2c_driver tps65217_driver =;

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

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

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