linux/drivers/mfd/qcom-pm8008.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2021, The Linux Foundation. All rights reserved.
 */

#include <linux/bitops.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/mfd/core.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/consumer.h>
#include <linux/regmap.h>
#include <linux/slab.h>

#define I2C_INTR_STATUS_BASE
#define INT_RT_STS_OFFSET
#define INT_SET_TYPE_OFFSET
#define INT_POL_HIGH_OFFSET
#define INT_POL_LOW_OFFSET
#define INT_LATCHED_CLR_OFFSET
#define INT_EN_SET_OFFSET
#define INT_EN_CLR_OFFSET
#define INT_LATCHED_STS_OFFSET

enum {};

#define PM8008_PERIPH_0_BASE
#define PM8008_PERIPH_1_BASE
#define PM8008_PERIPH_2_BASE
#define PM8008_PERIPH_3_BASE

#define PM8008_TEMP_ALARM_ADDR
#define PM8008_GPIO1_ADDR
#define PM8008_GPIO2_ADDR

/* PM8008 IRQ numbers */
#define PM8008_IRQ_MISC_UVLO
#define PM8008_IRQ_MISC_OVLO
#define PM8008_IRQ_MISC_OTST2
#define PM8008_IRQ_MISC_OTST3
#define PM8008_IRQ_MISC_LDO_OCP
#define PM8008_IRQ_TEMP_ALARM
#define PM8008_IRQ_GPIO1
#define PM8008_IRQ_GPIO2

enum {};

static const unsigned int pm8008_config_regs[] =;

#define _IRQ(_irq, _off, _mask, _types)

static const struct regmap_irq pm8008_irqs[] =;

static const unsigned int pm8008_periph_base[] =;

static unsigned int pm8008_get_irq_reg(struct regmap_irq_chip_data *data,
				       unsigned int base, int index)
{}

static int pm8008_set_type_config(unsigned int **buf, unsigned int type,
				  const struct regmap_irq *irq_data, int idx,
				  void *irq_drv_data)
{}

static const struct regmap_irq_chip pm8008_irq_chip =;

static const struct regmap_config qcom_mfd_regmap_cfg =;

static const struct regmap_config pm8008_regmap_cfg_2 =;

static const struct resource pm8008_temp_res[] =;

static const struct mfd_cell pm8008_cells[] =;

static void devm_irq_domain_fwnode_release(void *data)
{}

static int pm8008_probe(struct i2c_client *client)
{}

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

static struct i2c_driver pm8008_mfd_driver =;
module_i2c_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();