aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-06-27 13:28:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-06-27 13:28:39 +0200
commitc4a298735eb23d6a2b0b55b35a32accf0e79c790 (patch)
tree6c8bb8907673f35f73ccc13a500ce038629b4f48
parent8721ff1fd2cc941a36a30014ad2f047ac41ff3db (diff)
downloadpatches-c4a298735eb23d6a2b0b55b35a32accf0e79c790.tar.gz
updates
-rw-r--r--0001-vsmp-driver.patch2
-rw-r--r--pmu_attr_visible.patch63
-rw-r--r--series1
3 files changed, 65 insertions, 1 deletions
diff --git a/0001-vsmp-driver.patch b/0001-vsmp-driver.patch
index d105defeea7514..9194070356ce92 100644
--- a/0001-vsmp-driver.patch
+++ b/0001-vsmp-driver.patch
@@ -28,7 +28,7 @@ first cut to cleanup
+Description: Shows the full version of the vSMP hypervisor
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -22629,6 +22629,12 @@ F: lib/test_printf.c
+@@ -22634,6 +22634,12 @@ F: lib/test_printf.c
F: lib/test_scanf.c
F: lib/vsprintf.c
diff --git a/pmu_attr_visible.patch b/pmu_attr_visible.patch
new file mode 100644
index 00000000000000..f5af16a1b22c59
--- /dev/null
+++ b/pmu_attr_visible.patch
@@ -0,0 +1,63 @@
+---
+ kernel/events/core.c | 40 ++++++++++++++++++++++++++++------------
+ 1 file changed, 28 insertions(+), 12 deletions(-)
+
+--- a/kernel/events/core.c
++++ b/kernel/events/core.c
+@@ -11351,9 +11351,32 @@ static DEVICE_ATTR_RW(perf_event_mux_int
+ static struct attribute *pmu_dev_attrs[] = {
+ &dev_attr_type.attr,
+ &dev_attr_perf_event_mux_interval_ms.attr,
++ &dev_attr_nr_addr_filters.attr,
++ NULL,
++};
++
++static umode_t pmu_dev_is_visible(struct kobject *kobj, struct attribute *a, int n)
++{
++ struct device *dev = kobj_to_dev(kobj);
++ struct pmu *pmu = dev_get_drvdata(dev);
++
++ if (!pmu->nr_addr_filters)
++ return 0;
++
++ return a->mode;
++
++ return 0;
++}
++
++static struct attribute_group pmu_dev_attr_group = {
++ .is_visible = pmu_dev_is_visible,
++ .attrs = pmu_dev_attrs,
++};
++
++const static struct attribute_group *pmu_dev_groups[] = {
++ &pmu_dev_attr_group,
+ NULL,
+ };
+-ATTRIBUTE_GROUPS(pmu_dev);
+
+ static int pmu_bus_running;
+ static struct bus_type pmu_bus = {
+@@ -11389,18 +11412,11 @@ static int pmu_dev_alloc(struct pmu *pmu
+ if (ret)
+ goto free_dev;
+
+- /* For PMUs with address filters, throw in an extra attribute: */
+- if (pmu->nr_addr_filters)
+- ret = device_create_file(pmu->dev, &dev_attr_nr_addr_filters);
+-
+- if (ret)
+- goto del_dev;
+-
+- if (pmu->attr_update)
++ if (pmu->attr_update) {
+ ret = sysfs_update_groups(&pmu->dev->kobj, pmu->attr_update);
+-
+- if (ret)
+- goto del_dev;
++ if (ret)
++ goto del_dev;
++ }
+
+ out:
+ return ret;
diff --git a/series b/series
index 3ba830b63206a5..81b604e97fa7e3 100644
--- a/series
+++ b/series
@@ -1,4 +1,5 @@
#
+pmu_attr_visible.patch
documentation-embargoed-hardware-issues.rst-clean-out-empty-and-unused-entries.patch
usb.patch
0001-vsmp-driver.patch