 bfa21a0dfe
			
		
	
	
	bfa21a0dfe
	
	
	
		
			
			When drivers use simplified DT parsing method (they provide 'regulator_desc.of_match') they still may want to parse custom properties for some of the regulators. For example some of the regulators support GPIO enable control. Add a driver-supplied callback for such case. This way the regulator core parses common bindings offloading a lot of code from drivers and still custom properties may be used. The callback, called for each parsed regulator, may modify the 'regulator_config' initially passed to regulator_register(). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 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;
 | |
| 	char *supply_name;
 | |
| 	struct device_attribute dev_attr;
 | |
| 	struct regulator_dev *rdev;
 | |
| 	struct dentry *debugfs;
 | |
| };
 | |
| 
 | |
| #ifdef CONFIG_OF
 | |
| struct regulator_init_data *regulator_of_get_init_data(struct device *dev,
 | |
| 			         const struct regulator_desc *desc,
 | |
| 				 struct regulator_config *config,
 | |
| 				 struct device_node **node);
 | |
| #else
 | |
| static inline struct regulator_init_data *
 | |
| regulator_of_get_init_data(struct device *dev,
 | |
| 			   const struct regulator_desc *desc,
 | |
| 			   struct regulator_config *config,
 | |
| 			   struct device_node **node)
 | |
| {
 | |
| 	return NULL;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif
 |