#define pr_fmt(fmt) …
#include <linux/bits.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/scmi_protocol.h>
#include <linux/scmi_imx_protocol.h>
#include "../../protocols.h"
#include "../../notify.h"
#define SCMI_PROTOCOL_SUPPORTED_VERSION …
enum scmi_imx_bbm_protocol_cmd { … };
#define GET_RTCS_NR(x) …
#define GET_GPRS_NR(x) …
#define SCMI_IMX_BBM_NOTIFY_RTC_UPDATED …
#define SCMI_IMX_BBM_NOTIFY_RTC_ROLLOVER …
#define SCMI_IMX_BBM_NOTIFY_RTC_ALARM …
#define SCMI_IMX_BBM_RTC_ALARM_ENABLE_FLAG …
#define SCMI_IMX_BBM_NOTIFY_RTC_FLAG …
#define SCMI_IMX_BBM_EVENT_RTC_MASK …
struct scmi_imx_bbm_info { … };
struct scmi_msg_imx_bbm_protocol_attributes { … };
struct scmi_imx_bbm_set_time { … };
struct scmi_imx_bbm_get_time { … };
struct scmi_imx_bbm_alarm_time { … };
struct scmi_msg_imx_bbm_rtc_notify { … };
struct scmi_msg_imx_bbm_button_notify { … };
struct scmi_imx_bbm_notify_payld { … };
static int scmi_imx_bbm_attributes_get(const struct scmi_protocol_handle *ph,
struct scmi_imx_bbm_info *pi)
{ … }
static int scmi_imx_bbm_notify(const struct scmi_protocol_handle *ph,
u32 src_id, int message_id, bool enable)
{ … }
static enum scmi_imx_bbm_protocol_cmd evt_2_cmd[] = …;
static int scmi_imx_bbm_set_notify_enabled(const struct scmi_protocol_handle *ph,
u8 evt_id, u32 src_id, bool enable)
{ … }
static void *scmi_imx_bbm_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 scmi_imx_bbm_events[] = …;
static const struct scmi_event_ops scmi_imx_bbm_event_ops = …;
static const struct scmi_protocol_events scmi_imx_bbm_protocol_events = …;
static int scmi_imx_bbm_rtc_time_set(const struct scmi_protocol_handle *ph,
u32 rtc_id, u64 sec)
{ … }
static int scmi_imx_bbm_rtc_time_get(const struct scmi_protocol_handle *ph,
u32 rtc_id, u64 *value)
{ … }
static int scmi_imx_bbm_rtc_alarm_set(const struct scmi_protocol_handle *ph,
u32 rtc_id, bool enable, u64 sec)
{ … }
static int scmi_imx_bbm_button_get(const struct scmi_protocol_handle *ph, u32 *state)
{ … }
static const struct scmi_imx_bbm_proto_ops scmi_imx_bbm_proto_ops = …;
static int scmi_imx_bbm_protocol_init(const struct scmi_protocol_handle *ph)
{ … }
static const struct scmi_protocol scmi_imx_bbm = …;
module_scmi_protocol(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;