#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/scmi_protocol.h>
#include "common.h"
#include "notify.h"
#define SCMI_PROTOCOL_SUPPORTED_VERSION …
#define SCMI_BASE_NUM_SOURCES …
#define SCMI_BASE_MAX_CMD_ERR_COUNT …
enum scmi_base_protocol_cmd { … };
struct scmi_msg_resp_base_attributes { … };
struct scmi_msg_resp_base_discover_agent { … };
struct scmi_msg_base_error_notify { … };
struct scmi_base_error_notify_payld { … };
static int scmi_base_attributes_get(const struct scmi_protocol_handle *ph)
{ … }
static int
scmi_base_vendor_id_get(const struct scmi_protocol_handle *ph, bool sub_vendor)
{ … }
static int
scmi_base_implementation_version_get(const struct scmi_protocol_handle *ph)
{ … }
static int
scmi_base_implementation_list_get(const struct scmi_protocol_handle *ph,
u8 *protocols_imp)
{ … }
static int scmi_base_discover_agent_get(const struct scmi_protocol_handle *ph,
int id, char *name)
{ … }
static int scmi_base_error_notify(const struct scmi_protocol_handle *ph,
bool enable)
{ … }
static int scmi_base_set_notify_enabled(const struct scmi_protocol_handle *ph,
u8 evt_id, u32 src_id, bool enable)
{ … }
static void *scmi_base_fill_custom_report(const struct scmi_protocol_handle *ph,
u8 evt_id, ktime_t timestamp,
const void *payld, size_t payld_sz,
void *report, u32 *src_id)
{ … }
static const struct scmi_event base_events[] = …;
static const struct scmi_event_ops base_event_ops = …;
static const struct scmi_protocol_events base_protocol_events = …;
static int scmi_base_protocol_init(const struct scmi_protocol_handle *ph)
{ … }
static const struct scmi_protocol scmi_base = …;
DEFINE_SCMI_PROTOCOL_REGISTER_UNREGISTER(base, scmi_base)