Line data Source code
1 0 : /*
2 : * Copyright (c) 2023 Google, LLC
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #ifndef ZEPHYR_INCLUDE_DRIVERS_MFD_NCT38XX_H_
7 : #define ZEPHYR_INCLUDE_DRIVERS_MFD_NCT38XX_H_
8 :
9 : #include <zephyr/device.h>
10 : #include <zephyr/drivers/i2c.h>
11 : #include <zephyr/kernel.h>
12 :
13 : #ifdef __cplusplus
14 : extern "C" {
15 : #endif
16 :
17 : /**
18 : * @brief Get the semaphore reference for a NCT38xx instance. Callers
19 : * should pass the return value to k_sem_take/k_sem_give
20 : *
21 : * @param[in] dev Pointer to device struct of the driver instance
22 : *
23 : * @return Address of the semaphore
24 : */
25 1 : struct k_sem *mfd_nct38xx_get_lock_reference(const struct device *dev);
26 :
27 : /**
28 : * @brief Get the I2C DT spec reference for a NCT38xx instance.
29 : *
30 : * @param[in] dev Pointer to device struct of the driver instance
31 : *
32 : * @return Address of the I2C DT spec
33 : */
34 1 : const struct i2c_dt_spec *mfd_nct38xx_get_i2c_dt_spec(const struct device *dev);
35 :
36 : #ifdef __cplusplus
37 : }
38 : #endif
39 :
40 : #endif /* ZEPHYR_INCLUDE_DRIVERS_MFD_NCT38XX_H_ */
|