linux/drivers/mfd/rk8xx-core.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * MFD core driver for Rockchip RK8XX
 *
 * Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd
 * Copyright (C) 2016 PHYTEC Messtechnik GmbH
 *
 * Author: Chris Zhong <[email protected]>
 * Author: Zhang Qing <[email protected]>
 * Author: Wadim Egorov <[email protected]>
 */

#include <linux/interrupt.h>
#include <linux/mfd/rk808.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/reboot.h>

struct rk808_reg_data {};

static const struct resource rtc_resources[] =;

static const struct resource rk816_rtc_resources[] =;

static const struct resource rk817_rtc_resources[] =;

static const struct resource rk805_key_resources[] =;

static struct resource rk806_pwrkey_resources[] =;

static const struct resource rk817_pwrkey_resources[] =;

static const struct resource rk817_charger_resources[] =;

static const struct mfd_cell rk805s[] =;

static const struct mfd_cell rk806s[] =;

static const struct mfd_cell rk808s[] =;

static const struct mfd_cell rk816s[] =;

static const struct mfd_cell rk817s[] =;

static const struct mfd_cell rk818s[] =;

static const struct rk808_reg_data rk805_pre_init_reg[] =;

static const struct rk808_reg_data rk806_pre_init_reg[] =;

static const struct rk808_reg_data rk808_pre_init_reg[] =;

static const struct rk808_reg_data rk816_pre_init_reg[] =;

static const struct rk808_reg_data rk817_pre_init_reg[] =;

static const struct rk808_reg_data rk818_pre_init_reg[] =;

static const struct regmap_irq rk805_irqs[] =;

static const struct regmap_irq rk806_irqs[] =;

static const struct regmap_irq rk808_irqs[] =;

static const unsigned int rk816_irq_status_offsets[] =;

static const unsigned int rk816_irq_mask_offsets[] =;

static unsigned int rk816_get_irq_reg(struct regmap_irq_chip_data *data,
				      unsigned int base, int index)
{
	unsigned int irq_reg = base;

	switch (base) {
	case RK816_INT_STS_REG1:
		irq_reg += rk816_irq_status_offsets[index];
		break;
	case RK816_INT_STS_MSK_REG1:
		irq_reg += rk816_irq_mask_offsets[index];
		break;
	}

	return irq_reg;
};

static const struct regmap_irq rk816_irqs[] =;

static const struct regmap_irq rk818_irqs[] =;

static const struct regmap_irq rk817_irqs[RK817_IRQ_END] =;

static struct regmap_irq_chip rk805_irq_chip =;

static struct regmap_irq_chip rk806_irq_chip =;

static const struct regmap_irq_chip rk808_irq_chip =;

static const struct regmap_irq_chip rk816_irq_chip =;

static struct regmap_irq_chip rk817_irq_chip =;

static const struct regmap_irq_chip rk818_irq_chip =;

static int rk808_power_off(struct sys_off_data *data)
{}

static int rk808_restart(struct sys_off_data *data)
{}

void rk8xx_shutdown(struct device *dev)
{}
EXPORT_SYMBOL_GPL();

int rk8xx_probe(struct device *dev, int variant, unsigned int irq, struct regmap *regmap)
{}
EXPORT_SYMBOL_GPL();

int rk8xx_suspend(struct device *dev)
{}
EXPORT_SYMBOL_GPL();

int rk8xx_resume(struct device *dev)
{}
EXPORT_SYMBOL_GPL();

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