diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-06-27 13:28:39 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-06-27 13:28:39 +0200 |
commit | c4a298735eb23d6a2b0b55b35a32accf0e79c790 (patch) | |
tree | 6c8bb8907673f35f73ccc13a500ce038629b4f48 | |
parent | 8721ff1fd2cc941a36a30014ad2f047ac41ff3db (diff) | |
download | patches-c4a298735eb23d6a2b0b55b35a32accf0e79c790.tar.gz |
updates
-rw-r--r-- | 0001-vsmp-driver.patch | 2 | ||||
-rw-r--r-- | pmu_attr_visible.patch | 63 | ||||
-rw-r--r-- | series | 1 |
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; @@ -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 |