cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mc13xxx.h (1050B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Copyright 2012 Creative Product Design
      4 * Marc Reilly <marc@cpdesign.com.au>
      5 */
      6#ifndef __DRIVERS_MFD_MC13XXX_H
      7#define __DRIVERS_MFD_MC13XXX_H
      8
      9#include <linux/mutex.h>
     10#include <linux/regmap.h>
     11#include <linux/mfd/mc13xxx.h>
     12
     13#define MC13XXX_NUMREGS		0x3f
     14#define MC13XXX_IRQ_REG_CNT	2
     15#define MC13XXX_IRQ_PER_REG	24
     16
     17struct mc13xxx;
     18
     19struct mc13xxx_variant {
     20	const char *name;
     21	void (*print_revision)(struct mc13xxx *mc13xxx, u32 revision);
     22};
     23
     24extern struct mc13xxx_variant
     25		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 */