linux/drivers/mfd/qcom-pm8xxx.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
 */

#define pr_fmt(fmt)

#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/ssbi.h>
#include <linux/regmap.h>
#include <linux/of_platform.h>
#include <linux/mfd/core.h>

#define SSBI_REG_ADDR_IRQ_BASE

#define SSBI_REG_ADDR_IRQ_ROOT
#define SSBI_REG_ADDR_IRQ_M_STATUS1
#define SSBI_REG_ADDR_IRQ_M_STATUS2
#define SSBI_REG_ADDR_IRQ_M_STATUS3
#define SSBI_REG_ADDR_IRQ_M_STATUS4
#define SSBI_REG_ADDR_IRQ_BLK_SEL
#define SSBI_REG_ADDR_IRQ_IT_STATUS
#define SSBI_REG_ADDR_IRQ_CONFIG
#define SSBI_REG_ADDR_IRQ_RT_STATUS

#define PM8821_SSBI_REG_ADDR_IRQ_BASE
#define PM8821_SSBI_REG_ADDR_IRQ_MASTER0
#define PM8821_SSBI_REG_ADDR_IRQ_MASTER1
#define PM8821_SSBI_REG(m, b, offset)
#define PM8821_SSBI_ADDR_IRQ_ROOT(m, b)
#define PM8821_SSBI_ADDR_IRQ_CLEAR(m, b)
#define PM8821_SSBI_ADDR_IRQ_MASK(m, b)
#define PM8821_SSBI_ADDR_IRQ_RT_STATUS(m, b)

#define PM8821_BLOCKS_PER_MASTER

#define PM_IRQF_LVL_SEL
#define PM_IRQF_MASK_FE
#define PM_IRQF_MASK_RE
#define PM_IRQF_CLR
#define PM_IRQF_BITS_MASK
#define PM_IRQF_BITS_SHIFT
#define PM_IRQF_WRITE

#define PM_IRQF_MASK_ALL

#define REG_HWREV
#define REG_HWREV_2

#define PM8XXX_NR_IRQS
#define PM8821_NR_IRQS

struct pm_irq_data {};

struct pm_irq_chip {};

static int pm8xxx_read_block_irq(struct pm_irq_chip *chip, unsigned int bp,
				 unsigned int *ip)
{}

static int
pm8xxx_config_irq(struct pm_irq_chip *chip, unsigned int bp, unsigned int cp)
{}

static int pm8xxx_irq_block_handler(struct pm_irq_chip *chip, int block)
{}

static int pm8xxx_irq_master_handler(struct pm_irq_chip *chip, int master)
{}

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

static void pm8821_irq_block_handler(struct pm_irq_chip *chip,
				     int master, int block)
{}

static inline void pm8821_irq_master_handler(struct pm_irq_chip *chip,
					     int master, u8 master_val)
{}

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

static void pm8xxx_irq_mask_ack(struct irq_data *d)
{}

static void pm8xxx_irq_unmask(struct irq_data *d)
{}

static int pm8xxx_irq_set_type(struct irq_data *d, unsigned int flow_type)
{}

static int pm8xxx_irq_get_irqchip_state(struct irq_data *d,
					enum irqchip_irq_state which,
					bool *state)
{}

static struct irq_chip pm8xxx_irq_chip =;

static void pm8xxx_irq_domain_map(struct pm_irq_chip *chip,
				  struct irq_domain *domain, unsigned int irq,
				  irq_hw_number_t hwirq, unsigned int type)
{}

static int pm8xxx_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
				   unsigned int nr_irqs, void *data)
{}

static const struct irq_domain_ops pm8xxx_irq_domain_ops =;

static void pm8821_irq_mask_ack(struct irq_data *d)
{}

static void pm8821_irq_unmask(struct irq_data *d)
{}

static int pm8821_irq_get_irqchip_state(struct irq_data *d,
					enum irqchip_irq_state which,
					bool *state)
{}

static struct irq_chip pm8821_irq_chip =;

static const struct regmap_config ssbi_regmap_config =;

static const struct pm_irq_data pm8xxx_data =;

static const struct pm_irq_data pm8821_data =;

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

static int pm8xxx_probe(struct platform_device *pdev)
{}

static int pm8xxx_remove_child(struct device *dev, void *unused)
{}

static void pm8xxx_remove(struct platform_device *pdev)
{}

static struct platform_driver pm8xxx_driver =;

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

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

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_VERSION();
MODULE_ALIAS();