[tip: x86/platform] x86/platform/uv: Add sysfs leaves to replace those in procfs

From: tip-bot2 for Mike Travis
Date: Mon Dec 07 2020 - 17:38:34 EST


The following commit has been merged into the x86/platform branch of tip:

Commit-ID: 612a0063c9ba3aba79b9006faa0edad5f9d41162
Gitweb: https://git.kernel.org/tip/612a0063c9ba3aba79b9006faa0edad5f9d41162
Author: Mike Travis <mike.travis@xxxxxxx>
AuthorDate: Fri, 27 Nov 2020 21:42:24 -06:00
Committer: Borislav Petkov <bp@xxxxxxx>
CommitterDate: Mon, 07 Dec 2020 19:49:01 +01:00

x86/platform/uv: Add sysfs leaves to replace those in procfs

Add uv_sysfs leaves to display the info.

Signed-off-by: Mike Travis <mike.travis@xxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Reviewed-by: Steve Wahl <steve.wahl@xxxxxxx>
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Link: https://lkml.kernel.org/r/20201128034227.120869-3-mike.travis@xxxxxxx
---
drivers/platform/x86/uv_sysfs.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

diff --git a/drivers/platform/x86/uv_sysfs.c b/drivers/platform/x86/uv_sysfs.c
index c27f5ff..922d32f 100644
--- a/drivers/platform/x86/uv_sysfs.c
+++ b/drivers/platform/x86/uv_sysfs.c
@@ -736,17 +736,35 @@ static ssize_t uv_type_show(struct kobject *kobj,
return scnprintf(buf, PAGE_SIZE, "%s\n", uv_type_string());
}

+static ssize_t uv_archtype_show(struct kobject *kobj,
+ struct kobj_attribute *attr, char *buf)
+{
+ return uv_get_archtype(buf, PAGE_SIZE);
+}
+
+static ssize_t uv_hub_type_show(struct kobject *kobj,
+ struct kobj_attribute *attr, char *buf)
+{
+ return scnprintf(buf, PAGE_SIZE, "0x%x\n", uv_hub_type());
+}
+
static struct kobj_attribute partition_id_attr =
__ATTR(partition_id, 0444, partition_id_show, NULL);
static struct kobj_attribute coherence_id_attr =
__ATTR(coherence_id, 0444, coherence_id_show, NULL);
static struct kobj_attribute uv_type_attr =
__ATTR(uv_type, 0444, uv_type_show, NULL);
+static struct kobj_attribute uv_archtype_attr =
+ __ATTR(archtype, 0444, uv_archtype_show, NULL);
+static struct kobj_attribute uv_hub_type_attr =
+ __ATTR(hub_type, 0444, uv_hub_type_show, NULL);

static struct attribute *base_attrs[] = {
&partition_id_attr.attr,
&coherence_id_attr.attr,
&uv_type_attr.attr,
+ &uv_archtype_attr.attr,
+ &uv_hub_type_attr.attr,
NULL,
};