summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBastian Krause <bst@pengutronix.de>2019-09-27 11:59:52 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2019-09-30 20:39:04 +0200
commitaada84e72e150e0d0abc835f5b2237d64499f9e0 (patch)
treee4c7d46eba389edbdec0a46fbb4d26f1ca661cc5 /include
parent0ef90e6b42aa38e07623d37583d30caab2582cd6 (diff)
downloadbarebox-aada84e72e150e0d0abc835f5b2237d64499f9e0.tar.gz
barebox-aada84e72e150e0d0abc835f5b2237d64499f9e0.tar.xz
common: machine_id: introduce machine id generation
This patch adds functionality to pass device-specific information that will be hashed to generate a persistent unique machine id. It is then available as global.machine_id. It can be overwritten with nv.machine_id if necessary. Passing the machine id to the kernel is done in a separate patch. Note: if multiple sources provide hashable device-specific information (via machine_id_set_hashable()) the information provided by the last call prior to the late initcall set_machine_id() is used to generate the machine id from. Thus when updating barebox the machine id might change. Signed-off-by: Bastian Krause <bst@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/machine_id.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/machine_id.h b/include/machine_id.h
new file mode 100644
index 0000000000..31d5e0bb28
--- /dev/null
+++ b/include/machine_id.h
@@ -0,0 +1,16 @@
+#ifndef __MACHINE_ID_H__
+#define __MACHINE_ID_H__
+
+#if IS_ENABLED(CONFIG_MACHINE_ID)
+
+void machine_id_set_hashable(const void *hashable, size_t len);
+
+#else
+
+static inline void machine_id_set_hashable(const void *hashable, size_t len)
+{
+}
+
+#endif /* CONFIG_MACHINE_ID */
+
+#endif /* __MACHINE_ID_H__ */