57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2024 Linaro Ltd.
|
|
*/
|
|
|
|
#ifndef __POWER_SEQUENCING_CONSUMER_H__
|
|
#define __POWER_SEQUENCING_CONSUMER_H__
|
|
|
|
#include <linux/err.h>
|
|
|
|
struct device;
|
|
struct pwrseq_desc;
|
|
|
|
#if IS_ENABLED(CONFIG_POWER_SEQUENCING)
|
|
|
|
struct pwrseq_desc * __must_check
|
|
pwrseq_get(struct device *dev, const char *target);
|
|
void pwrseq_put(struct pwrseq_desc *desc);
|
|
|
|
struct pwrseq_desc * __must_check
|
|
devm_pwrseq_get(struct device *dev, const char *target);
|
|
|
|
int pwrseq_power_on(struct pwrseq_desc *desc);
|
|
int pwrseq_power_off(struct pwrseq_desc *desc);
|
|
|
|
#else /* CONFIG_POWER_SEQUENCING */
|
|
|
|
static inline struct pwrseq_desc * __must_check
|
|
pwrseq_get(struct device *dev, const char *target)
|
|
{
|
|
return ERR_PTR(-ENOSYS);
|
|
}
|
|
|
|
static inline void pwrseq_put(struct pwrseq_desc *desc)
|
|
{
|
|
}
|
|
|
|
static inline struct pwrseq_desc * __must_check
|
|
devm_pwrseq_get(struct device *dev, const char *target)
|
|
{
|
|
return ERR_PTR(-ENOSYS);
|
|
}
|
|
|
|
static inline int pwrseq_power_on(struct pwrseq_desc *desc)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
|
|
static inline int pwrseq_power_off(struct pwrseq_desc *desc)
|
|
{
|
|
return -ENOSYS;
|
|
}
|
|
|
|
#endif /* CONFIG_POWER_SEQUENCING */
|
|
|
|
#endif /* __POWER_SEQUENCING_CONSUMER_H__ */
|