Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
regulator.h
Go to the documentation of this file.
1/*
2 * Copyright 2019-2020 Peter Bigot Consulting, LLC
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
11#ifndef ZEPHYR_INCLUDE_DRIVERS_REGULATOR_H_
12#define ZEPHYR_INCLUDE_DRIVERS_REGULATOR_H_
13
21#include <zephyr/types.h>
22#include <drivers/gpio.h>
23#include <sys/onoff.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
32__subsystem struct regulator_driver_api {
33 int (*enable)(const struct device *dev, struct onoff_client *cli);
34 int (*disable)(const struct device *dev);
35};
36
58static inline int regulator_enable(const struct device *reg,
59 struct onoff_client *cli)
60{
61 const struct regulator_driver_api *api =
62 (const struct regulator_driver_api *)reg->api;
63
64 return api->enable(reg, cli);
65}
66
88static inline int regulator_disable(const struct device *reg)
89{
90 const struct regulator_driver_api *api =
91 (const struct regulator_driver_api *)reg->api;
92
93 return api->disable(reg);
94}
95
96#ifdef __cplusplus
97}
98#endif
99
104#endif /* ZEPHYR_INCLUDE_DRIVERS_REGULATOR_H_ */
Public APIs for GPIO drivers.
static int regulator_disable(const struct device *reg)
Disable a regulator.
Definition: regulator.h:88
static int regulator_enable(const struct device *reg, struct onoff_client *cli)
Enable a regulator.
Definition: regulator.h:58
Runtime device structure (in ROM) per driver instance.
Definition: device.h:367
const void * api
Definition: device.h:373
State associated with a client of an on-off service.
Definition: onoff.h:273
Driver-specific API functions to support regulator control.
Definition: regulator.h:32
int(* enable)(const struct device *dev, struct onoff_client *cli)
Definition: regulator.h:33
int(* disable)(const struct device *dev)
Definition: regulator.h:34