summaryrefslogtreecommitdiff
path: root/include/cpu.h
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-08-19 01:23:27 +0200
committerAlexander Graf <agraf@suse.de>2016-10-19 09:01:51 +0200
commit94eaa79cecf98300974c99d935ff653c9418de21 (patch)
tree1d74ec8d17be5db3f8b7b0842ee2c39cdd88b471 /include/cpu.h
parent6f192ddcbd8e13351a8f13365e7c714e7b61a79e (diff)
cpu: Add get_vendor callback
The CPU udevice already has a few callbacks to retreive information about the currently running CPUs. This patch adds a new get_vendor() call that returns the vendor of the main CPUs. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'include/cpu.h')
-rw-r--r--include/cpu.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/cpu.h b/include/cpu.h
index 7d4486bbf3..954257715a 100644
--- a/include/cpu.h
+++ b/include/cpu.h
@@ -73,6 +73,16 @@ struct cpu_ops {
* @return CPU count if OK, -ve on error
*/
int (*get_count)(struct udevice *dev);
+
+ /**
+ * get_vendor() - Get vendor name of a CPU
+ *
+ * @dev: Device to check (UCLASS_CPU)
+ * @buf: Buffer to place string
+ * @size: Size of string space
+ * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
+ */
+ int (*get_vendor)(struct udevice *dev, char *buf, int size);
};
#define cpu_get_ops(dev) ((struct cpu_ops *)(dev)->driver->ops)
@@ -104,4 +114,14 @@ int cpu_get_info(struct udevice *dev, struct cpu_info *info);
*/
int cpu_get_count(struct udevice *dev);
+/**
+ * cpu_get_vendor() - Get vendor name of a CPU
+ *
+ * @dev: Device to check (UCLASS_CPU)
+ * @buf: Buffer to place string
+ * @size: Size of string space
+ * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
+ */
+int cpu_get_vendor(struct udevice *dev, char *buf, int size);
+
#endif