mirror of https://github.com/torvalds/linux.git
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
*
|
|
* Generic netlink for energy model.
|
|
*
|
|
* Copyright (c) 2025 Valve Corporation.
|
|
* Author: Changwoo Min <changwoo@igalia.com>
|
|
*/
|
|
#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 */
|