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
 |