/* SPDX-License-Identifier: GPL-2.0 */ /* * * Generic netlink for energy model. * * Copyright (c) 2025 Valve Corporation. * Author: Changwoo Min */ #ifndef _EM_NETLINK_H #define _EM_NETLINK_H #if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_NET) int for_each_em_perf_domain(int (*cb)(struct em_perf_domain*, void *), void *data); struct em_perf_domain *em_perf_domain_get_by_id(int id); void em_notify_pd_created(const struct em_perf_domain *pd); void em_notify_pd_deleted(const struct em_perf_domain *pd); void em_notify_pd_updated(const struct em_perf_domain *pd); #else static inline int for_each_em_perf_domain(int (*cb)(struct em_perf_domain*, void *), void *data) { return -EINVAL; } static inline struct em_perf_domain *em_perf_domain_get_by_id(int id) { return NULL; } static inline void em_notify_pd_created(const struct em_perf_domain *pd) {} static inline void em_notify_pd_deleted(const struct em_perf_domain *pd) {} static inline void em_notify_pd_updated(const struct em_perf_domain *pd) {} #endif #endif /* _EM_NETLINK_H */