brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · bd5ba9a Raw
50 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright 2012 Creative Product Design4 * Marc Reilly <marc@cpdesign.com.au>5 */6#ifndef __DRIVERS_MFD_MC13XXX_H7#define __DRIVERS_MFD_MC13XXX_H8 9#include <linux/mutex.h>10#include <linux/regmap.h>11#include <linux/mfd/mc13xxx.h>12 13#define MC13XXX_NUMREGS		0x3f14#define MC13XXX_IRQ_REG_CNT	215#define MC13XXX_IRQ_PER_REG	2416 17struct mc13xxx;18 19struct mc13xxx_variant {20	const char *name;21	void (*print_revision)(struct mc13xxx *mc13xxx, u32 revision);22};23 24extern struct mc13xxx_variant25		mc13xxx_variant_mc13783,26		mc13xxx_variant_mc13892,27		mc13xxx_variant_mc34708;28 29struct mc13xxx {30	struct regmap *regmap;31 32	struct device *dev;33	const struct mc13xxx_variant *variant;34 35	struct regmap_irq irqs[MC13XXX_IRQ_PER_REG * MC13XXX_IRQ_REG_CNT];36	struct regmap_irq_chip irq_chip;37	struct regmap_irq_chip_data *irq_data;38 39	struct mutex lock;40	int irq;41	int flags;42 43	int adcflags;44};45 46int mc13xxx_common_init(struct device *dev);47void mc13xxx_common_exit(struct device *dev);48 49#endif /* __DRIVERS_MFD_MC13XXX_H */50