2013-09-11 16:15:40 +04:00
/*
* internal . h - - Voltage / Current Regulator framework internal code
*
* Copyright 2007 , 2008 Wolfson Microelectronics PLC .
* Copyright 2008 SlimLogic Ltd .
*
* Author : Liam Girdwood < lrg @ slimlogic . co . uk >
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*
*/
# ifndef __REGULATOR_INTERNAL_H
# define __REGULATOR_INTERNAL_H
/*
* struct regulator
*
* One for each consumer device .
*/
struct regulator {
struct device * dev ;
struct list_head list ;
unsigned int always_on : 1 ;
unsigned int bypass : 1 ;
int uA_load ;
int min_uV ;
int max_uV ;
2017-03-17 04:07:14 +03:00
const char * supply_name ;
2013-09-11 16:15:40 +04:00
struct device_attribute dev_attr ;
struct regulator_dev * rdev ;
struct dentry * debugfs ;
} ;
2014-09-10 18:17:01 +04:00
# ifdef CONFIG_OF
2014-09-10 02:13:57 +04:00
struct regulator_init_data * regulator_of_get_init_data ( struct device * dev ,
const struct regulator_desc * desc ,
2015-01-05 14:48:42 +03:00
struct regulator_config * config ,
2014-09-10 02:13:57 +04:00
struct device_node * * node ) ;
2014-09-10 18:17:01 +04:00
# else
static inline struct regulator_init_data *
regulator_of_get_init_data ( struct device * dev ,
const struct regulator_desc * desc ,
2015-01-05 14:48:42 +03:00
struct regulator_config * config ,
2014-09-10 18:17:01 +04:00
struct device_node * * node )
{
return NULL ;
}
# endif
2014-09-10 02:13:57 +04:00
2017-02-04 00:56:02 +03:00
enum regulator_get_type {
NORMAL_GET ,
EXCLUSIVE_GET ,
OPTIONAL_GET ,
MAX_GET_TYPE
} ;
struct regulator * _regulator_get ( struct device * dev , const char * id ,
enum regulator_get_type get_type ) ;
2013-09-11 16:15:40 +04:00
# endif