#ifndef __LINUX_MFD_PCF50633_CORE_H
#define __LINUX_MFD_PCF50633_CORE_H
#include <linux/i2c.h>
#include <linux/workqueue.h>
#include <linux/regulator/driver.h>
#include <linux/regulator/machine.h>
#include <linux/pm.h>
#include <linux/power_supply.h>
#include <linux/mfd/pcf50633/backlight.h>
struct pcf50633;
struct regmap;
#define PCF50633_NUM_REGULATORS …
struct pcf50633_platform_data { … };
struct pcf50633_irq { … };
int pcf50633_register_irq(struct pcf50633 *pcf, int irq,
void (*handler) (int, void *), void *data);
int pcf50633_free_irq(struct pcf50633 *pcf, int irq);
int pcf50633_irq_mask(struct pcf50633 *pcf, int irq);
int pcf50633_irq_unmask(struct pcf50633 *pcf, int irq);
int pcf50633_irq_mask_get(struct pcf50633 *pcf, int irq);
int pcf50633_read_block(struct pcf50633 *, u8 reg,
int nr_regs, u8 *data);
int pcf50633_write_block(struct pcf50633 *pcf, u8 reg,
int nr_regs, u8 *data);
u8 pcf50633_reg_read(struct pcf50633 *, u8 reg);
int pcf50633_reg_write(struct pcf50633 *pcf, u8 reg, u8 val);
int pcf50633_reg_set_bit_mask(struct pcf50633 *pcf, u8 reg, u8 mask, u8 val);
int pcf50633_reg_clear_bits(struct pcf50633 *pcf, u8 reg, u8 bits);
#define PCF50633_REG_INT1 …
#define PCF50633_REG_INT2 …
#define PCF50633_REG_INT3 …
#define PCF50633_REG_INT4 …
#define PCF50633_REG_INT5 …
#define PCF50633_REG_INT1M …
#define PCF50633_REG_INT2M …
#define PCF50633_REG_INT3M …
#define PCF50633_REG_INT4M …
#define PCF50633_REG_INT5M …
enum { … };
struct pcf50633 { … };
enum pcf50633_reg_int1 { … };
enum pcf50633_reg_int2 { … };
enum pcf50633_reg_int3 { … };
enum pcf50633_reg_int4 { … };
enum pcf50633_reg_int5 { … };
#define PCF50633_REG_OOCSHDWN …
#define PCF50633_REG_LEDOUT …
#define PCF50633_REG_LEDENA …
#define PCF50633_REG_LEDCTL …
#define PCF50633_REG_LEDDIM …
static inline struct pcf50633 *dev_to_pcf50633(struct device *dev)
{ … }
int pcf50633_irq_init(struct pcf50633 *pcf, int irq);
void pcf50633_irq_free(struct pcf50633 *pcf);
extern const struct dev_pm_ops pcf50633_pm;
#endif