Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071/* 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_checkpwrseq_get(struct device *dev, const char *target);void pwrseq_put(struct pwrseq_desc *desc);
struct pwrseq_desc * __must_checkdevm_pwrseq_get(struct device *dev, const char *target);
int pwrseq_enable(struct pwrseq_desc *desc);int pwrseq_disable(struct pwrseq_desc *desc);
struct device *pwrseq_to_device(struct pwrseq_desc *desc);
bool pwrseq_is_controllable(struct pwrseq_desc *desc);
#else /* CONFIG_POWER_SEQUENCING */
static inline struct pwrseq_desc * __must_checkpwrseq_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_checkdevm_pwrseq_get(struct device *dev, const char *target){ return ERR_PTR(-ENOSYS);}
static inline int pwrseq_enable(struct pwrseq_desc *desc){ return -ENOSYS;}
static inline int pwrseq_disable(struct pwrseq_desc *desc){ return -ENOSYS;}
static inline struct device *pwrseq_to_device(struct pwrseq_desc *desc){ return NULL;}
static inline bool pwrseq_is_controllable(struct pwrseq_desc *desc){ return false;}
#endif /* CONFIG_POWER_SEQUENCING */
#endif /* __POWER_SEQUENCING_CONSUMER_H__ */