Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.1-rc5 83 lines 2.3 kB view raw
1/* 2 * gpio-regulator.h 3 * 4 * Copyright 2011 Heiko Stuebner <heiko@sntech.de> 5 * 6 * based on fixed.h 7 * 8 * Copyright 2008 Wolfson Microelectronics PLC. 9 * 10 * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> 11 * 12 * Copyright (c) 2009 Nokia Corporation 13 * Roger Quadros <ext-roger.quadros@nokia.com> 14 * 15 * This program is free software; you can redistribute it and/or 16 * modify it under the terms of the GNU General Public License as 17 * published by the Free Software Foundation; either version 2 of the 18 * License, or (at your option) any later version. 19 */ 20 21#ifndef __REGULATOR_GPIO_H 22#define __REGULATOR_GPIO_H 23 24#include <linux/gpio/consumer.h> 25 26struct regulator_init_data; 27 28enum regulator_type; 29 30/** 31 * struct gpio_regulator_state - state description 32 * @value: microvolts or microamps 33 * @gpios: bitfield of gpio target-states for the value 34 * 35 * This structure describes a supported setting of the regulator 36 * and the necessary gpio-state to achieve it. 37 * 38 * The n-th bit in the bitfield describes the state of the n-th GPIO 39 * from the gpios-array defined in gpio_regulator_config below. 40 */ 41struct gpio_regulator_state { 42 int value; 43 int gpios; 44}; 45 46/** 47 * struct gpio_regulator_config - config structure 48 * @supply_name: Name of the regulator supply 49 * @enabled_at_boot: Whether regulator has been enabled at 50 * boot or not. 1 = Yes, 0 = No 51 * This is used to keep the regulator at 52 * the default state 53 * @startup_delay: Start-up time in microseconds 54 * @gflags: Array of GPIO configuration flags for initial 55 * states 56 * @ngpios: Number of GPIOs and configurations available 57 * @states: Array of gpio_regulator_state entries describing 58 * the gpio state for specific voltages 59 * @nr_states: Number of states available 60 * @regulator_type: either REGULATOR_CURRENT or REGULATOR_VOLTAGE 61 * @init_data: regulator_init_data 62 * 63 * This structure contains gpio-voltage regulator configuration 64 * information that must be passed by platform code to the 65 * gpio-voltage regulator driver. 66 */ 67struct gpio_regulator_config { 68 const char *supply_name; 69 70 unsigned enabled_at_boot:1; 71 unsigned startup_delay; 72 73 enum gpiod_flags *gflags; 74 int ngpios; 75 76 struct gpio_regulator_state *states; 77 int nr_states; 78 79 enum regulator_type type; 80 struct regulator_init_data *init_data; 81}; 82 83#endif