Blame view
drivers/regulator/internal.h
2.57 KB
2874c5fd2 treewide: Replace... |
1 |
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
0cdfcc0f9 regulator: core: ... |
2 3 4 5 6 7 8 |
/* * 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> |
0cdfcc0f9 regulator: core: ... |
9 10 11 12 |
*/ #ifndef __REGULATOR_INTERNAL_H #define __REGULATOR_INTERNAL_H |
c360a6df0 regulator: make r... |
13 14 15 16 17 18 19 20 |
#include <linux/suspend.h> #define REGULATOR_STATES_NUM (PM_SUSPEND_MAX + 1) struct regulator_voltage { int min_uV; int max_uV; }; |
0cdfcc0f9 regulator: core: ... |
21 22 23 24 |
/* * struct regulator * * One for each consumer device. |
c360a6df0 regulator: make r... |
25 26 27 28 29 30 |
* @voltage - a voltage array for each state of runtime, i.e.: * PM_SUSPEND_ON * PM_SUSPEND_TO_IDLE * PM_SUSPEND_STANDBY * PM_SUSPEND_MEM * PM_SUSPEND_MAX |
0cdfcc0f9 regulator: core: ... |
31 32 33 34 35 36 |
*/ struct regulator { struct device *dev; struct list_head list; unsigned int always_on:1; unsigned int bypass:1; |
106dcff0e UPSTREAM: regulat... |
37 |
unsigned int device_link:1; |
0cdfcc0f9 regulator: core: ... |
38 |
int uA_load; |
5451781da regulator: core: ... |
39 40 |
unsigned int enable_count; unsigned int deferred_disables; |
c360a6df0 regulator: make r... |
41 |
struct regulator_voltage voltage[REGULATOR_STATES_NUM]; |
0630b6143 regulator: Mark s... |
42 |
const char *supply_name; |
0cdfcc0f9 regulator: core: ... |
43 44 45 46 |
struct device_attribute dev_attr; struct regulator_dev *rdev; struct dentry *debugfs; }; |
148096af0 regulator: core: ... |
47 48 49 50 51 52 |
extern struct class regulator_class; static inline struct regulator_dev *dev_to_rdev(struct device *dev) { return container_of(dev, struct regulator_dev, dev); } |
ef126a4a8 regulator: of: Ad... |
53 |
#ifdef CONFIG_OF |
08813e0ec regulator: add du... |
54 |
struct regulator_dev *of_find_regulator_by_node(struct device_node *np); |
a0c7b164a regulator: of: Pr... |
55 56 |
struct regulator_init_data *regulator_of_get_init_data(struct device *dev, const struct regulator_desc *desc, |
bfa21a0df regulator: Allow ... |
57 |
struct regulator_config *config, |
a0c7b164a regulator: of: Pr... |
58 |
struct device_node **node); |
a085a31af regulator: core: ... |
59 60 61 62 63 64 65 |
struct regulator_dev *of_parse_coupled_regulator(struct regulator_dev *rdev, int index); int of_get_n_coupled(struct regulator_dev *rdev); bool of_check_coupling_data(struct regulator_dev *rdev); |
ef126a4a8 regulator: of: Ad... |
66 |
#else |
08813e0ec regulator: add du... |
67 68 69 70 71 |
static inline struct regulator_dev * of_find_regulator_by_node(struct device_node *np) { return NULL; } |
ef126a4a8 regulator: of: Ad... |
72 73 74 |
static inline struct regulator_init_data * regulator_of_get_init_data(struct device *dev, const struct regulator_desc *desc, |
bfa21a0df regulator: Allow ... |
75 |
struct regulator_config *config, |
ef126a4a8 regulator: of: Ad... |
76 77 78 79 |
struct device_node **node) { return NULL; } |
a0c7b164a regulator: of: Pr... |
80 |
|
a085a31af regulator: core: ... |
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
static inline struct regulator_dev * of_parse_coupled_regulator(struct regulator_dev *rdev, int index) { return NULL; } static inline int of_get_n_coupled(struct regulator_dev *rdev) { return 0; } static inline bool of_check_coupling_data(struct regulator_dev *rdev) { return false; } #endif |
a8bd42a97 regulator: core: ... |
99 100 101 102 103 104 105 106 107 |
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); |
0cdfcc0f9 regulator: core: ... |
108 |
#endif |