aboutsummaryrefslogtreecommitdiff
path: root/include/linux/pcf506xx.h
blob: 459b16001c97b4c370a504f867ec7c2c977ab92c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef _LINUX_PCF506XX_H
#define _LINUX_PCF506XX_H


#define PMU_VRAIL_F_SUSPEND_ON	0x00000001	/* Remains on during suspend */
#define PMU_VRAIL_F_UNUSED	0x00000002	/* This rail is not used */
struct pmu_voltage_rail {
	char *name;
	unsigned int flags;
	struct {
		unsigned int init;
		unsigned int max;
	} voltage;
};

enum pmu_event {
	PMU_EVT_NONE,
	PMU_EVT_INSERT,
	PMU_EVT_REMOVE,
#ifdef CONFIG_SENSORS_PCF50633
	PMU_EVT_USB_INSERT,
	PMU_EVT_USB_REMOVE,
#endif
	PMU_EVT_CHARGER_ACTIVE,
	PMU_EVT_CHARGER_IDLE,
	PMU_EVT_CHARGER_CHANGE,
	__NUM_PMU_EVTS
};

typedef int (*pmu_cb)(struct device *dev, unsigned int feature,
		   enum pmu_event event);


#endif /* !_LINUX_PCF506XX_H */