Lines Matching +full:control +full:- +full:parent

1 /* SPDX-License-Identifier: GPL-2.0-only */
24 * struct powercap_control_type_ops - Define control type callbacks
25 * @set_enable: Enable/Disable whole control type.
32 * control type is closed. So it is safe to free data
33 * structure associated with this control type.
35 * for the control type.
37 * This structure defines control type callbacks to be implemented by client
47 * struct powercap_control_type - Defines a powercap control_type
52 * @lock: mutex for control type
58 * @node: linked-list node
61 * zones, which use same method to control power. E.g. RAPL, RAPL-PCI etc.
75 * struct powercap_zone_ops - Define power zone callbacks
77 * micro-joules.
78 * @get_energy_uj: Get current energy counter in micro-joules.
79 * @reset_energy_uj: Reset micro-joules energy counter.
81 * micro-watts.
82 * @get_power_uw: Get current power counter in micro-watts.
87 * control type is closed. So it is safe to free
89 * control type. Mandatory, if client driver owns
112 * struct powercap_zone- Defines instance of a power cap zone
115 * @control_type_inst: Control type instance for this zone.
120 * @parent_idr: To remove reference from the parent idr.
155 * struct powercap_zone_constraint_ops - Define constraint callbacks
156 * @set_power_limit_uw: Set power limit in micro-watts.
157 * @get_power_limit_uw: Get power limit in micro-watts.
158 * @set_time_window_us: Set time window in micro-seconds.
159 * @get_time_window_us: Get time window in micro-seconds.
160 * @get_max_power_uw: Get max power allowed in micro-watts.
161 * @get_min_power_uw: Get min power allowed in micro-watts.
162 * @get_max_time_window_us: Get max time window allowed in micro-seconds.
163 * @get_min_time_window_us: Get min time window allowed in micro-seconds.
188 * struct powercap_zone_constraint- Defines instance of a constraint
203 #define POWERCAP_GET_DEV(power_zone) (&power_zone->dev)
206 * powercap_set_zone_data() - Set private data for a zone
216 power_zone->private_data = pdata; in powercap_set_zone_data()
220 * powercap_get_zone_data() - Get private data for a zone
229 return power_zone->private_data; in powercap_get_zone_data()
234 * powercap_register_control_type() - Register a control_type with framework
235 * @control_type: Pointer to client allocated memory for the control type
243 * @ops: Callbacks for control type. This parameter is optional.
246 * can represent a type of technology, which can control a range of power zones.
248 * Intel® 64 and IA-32 Processor Architectures. The name can be any string
258 * powercap_unregister_control_type() - Unregister a control_type from framework
262 * All power zones registered under this control type have to be unregistered
270 * powercap_register_zone() - Register a power zone
278 * @parent: A pointer to the parent power zone instance if any or NULL
283 * Register a power zone under a given control type. A power zone must register
285 * A power zone can be located under a parent power zone, in which case @parent
286 * should point to it. Otherwise, if @parent is NULL, the new power zone will
287 * be located directly under the given control type
296 struct powercap_zone *parent,
302 * powercap_unregister_zone() - Unregister a zone device