summaryrefslogtreecommitdiff
path: root/drivers/firmware/arm_scmi/notify.h
diff options
context:
space:
mode:
authorCristian Marussi <cristian.marussi@arm.com>2020-07-10 14:39:19 +0100
committerSudeep Holla <sudeep.holla@arm.com>2020-07-13 09:40:21 +0100
commit72a5eb9d9c319c99c11cfd9cfb486380dd136840 (patch)
tree0cef497bf77845196d7332a860e45b937d4ec6c0 /drivers/firmware/arm_scmi/notify.h
parent33ee97f823cc5b3d03c9910c1b8dbe193a21056b (diff)
firmware: arm_scmi: Remove fixed size fields from reports/scmi_event_header
Event reports are used to convey information describing events to the registered user-callbacks: they are necessarily derived from the underlying raw SCMI events' messages but they are not meant to expose or directly mirror any of those messages data layout, which belong to the protocol layer. Using fixed size types for report fields, mirroring messages structure, is at odd with this: get rid of them using more generic, equivalent, typing. Substitute scmi_event_header fixed size fields with generic types too and shuffle around fields definitions to minimize implicit padding while adapting involved functions. Link: https://lore.kernel.org/r/20200710133919.39792-3-cristian.marussi@arm.com Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to 'drivers/firmware/arm_scmi/notify.h')
-rw-r--r--drivers/firmware/arm_scmi/notify.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/firmware/arm_scmi/notify.h b/drivers/firmware/arm_scmi/notify.h
index 3791bb7aa79b..3485f20fa70e 100644
--- a/drivers/firmware/arm_scmi/notify.h
+++ b/drivers/firmware/arm_scmi/notify.h
@@ -10,6 +10,7 @@
#define _SCMI_NOTIFY_H
#include <linux/device.h>
+#include <linux/ktime.h>
#include <linux/types.h>
#define SCMI_PROTO_QUEUE_SZ 4096
@@ -48,8 +49,9 @@ struct scmi_event_ops {
int (*set_notify_enabled)(const struct scmi_handle *handle,
u8 evt_id, u32 src_id, bool enabled);
void *(*fill_custom_report)(const struct scmi_handle *handle,
- u8 evt_id, u64 timestamp, const void *payld,
- size_t payld_sz, void *report, u32 *src_id);
+ u8 evt_id, ktime_t timestamp,
+ const void *payld, size_t payld_sz,
+ void *report, u32 *src_id);
};
int scmi_notification_init(struct scmi_handle *handle);
@@ -61,6 +63,6 @@ int scmi_register_protocol_events(const struct scmi_handle *handle,
const struct scmi_event *evt, int num_events,
int num_sources);
int scmi_notify(const struct scmi_handle *handle, u8 proto_id, u8 evt_id,
- const void *buf, size_t len, u64 ts);
+ const void *buf, size_t len, ktime_t ts);
#endif /* _SCMI_NOTIFY_H */