1/*
2 * internal.h  --  Voltage/Current Regulator framework internal code
3 *
4 * Copyright 2007, 2008 Wolfson Microelectronics PLC.
5 * Copyright 2008 SlimLogic Ltd.
6 *
7 * Author: Liam Girdwood <lrg@slimlogic.co.uk>
8 *
9 *  This program is free software; you can redistribute  it and/or modify it
10 *  under  the terms of  the GNU General  Public License as published by the
11 *  Free Software Foundation;  either version 2 of the  License, or (at your
12 *  option) any later version.
13 *
14 */
15
16#ifndef __REGULATOR_INTERNAL_H
17#define __REGULATOR_INTERNAL_H
18
19/*
20 * struct regulator
21 *
22 * One for each consumer device.
23 */
24struct regulator {
25	struct device *dev;
26	struct list_head list;
27	unsigned int always_on:1;
28	unsigned int bypass:1;
29	int uA_load;
30	int min_uV;
31	int max_uV;
32	char *supply_name;
33	struct device_attribute dev_attr;
34	struct regulator_dev *rdev;
35	struct dentry *debugfs;
36};
37
38#ifdef CONFIG_OF
39struct regulator_init_data *regulator_of_get_init_data(struct device *dev,
40			         const struct regulator_desc *desc,
41				 struct device_node **node);
42#else
43static inline struct regulator_init_data *
44regulator_of_get_init_data(struct device *dev,
45			   const struct regulator_desc *desc,
46			   struct device_node **node)
47{
48	return NULL;
49}
50#endif
51
52#endif
53