#include <linux/err.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/pm_domain.h>
#include <linux/pm_opp.h>
#include <linux/scmi_protocol.h>
#include <linux/slab.h>
struct scmi_perf_domain { … };
#define to_scmi_pd(pd) …
static int
scmi_pd_set_perf_state(struct generic_pm_domain *genpd, unsigned int state)
{ … }
static int
scmi_pd_attach_dev(struct generic_pm_domain *genpd, struct device *dev)
{ … }
static void
scmi_pd_detach_dev(struct generic_pm_domain *genpd, struct device *dev)
{ … }
static int scmi_perf_domain_probe(struct scmi_device *sdev)
{ … }
static void scmi_perf_domain_remove(struct scmi_device *sdev)
{ … }
static const struct scmi_device_id scmi_id_table[] = …;
MODULE_DEVICE_TABLE(scmi, scmi_id_table);
static struct scmi_driver scmi_perf_domain_driver = …;
module_scmi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;