platform/x86/amd: pmc: Hide SMU version and program attributes for Picasso
authorMario Limonciello <mario.limonciello@amd.com>
Sun, 9 Apr 2023 18:53:42 +0000 (00:23 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 May 2023 14:03:14 +0000 (23:03 +0900)
[ Upstream commit 5ec9ee0d464750d72972d5685edf675824e259a1 ]

As the command to get version isn't supported on Picasso, we shouldn't
be exposing this into sysfs either.

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2449
Fixes: 7f1ea75d499a ("platform/x86/amd: pmc: Add sysfs files for SMU")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20230409185348.556161-3-Shyam-sundar.S-k@amd.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/x86/amd/pmc.c

index 5ff284b..7c9cadf 100644 (file)
@@ -422,12 +422,31 @@ static ssize_t smu_program_show(struct device *d, struct device_attribute *attr,
 static DEVICE_ATTR_RO(smu_fw_version);
 static DEVICE_ATTR_RO(smu_program);
 
+static umode_t pmc_attr_is_visible(struct kobject *kobj, struct attribute *attr, int idx)
+{
+       struct device *dev = kobj_to_dev(kobj);
+       struct amd_pmc_dev *pdev = dev_get_drvdata(dev);
+
+       if (pdev->cpu_id == AMD_CPU_ID_PCO)
+               return 0;
+       return 0444;
+}
+
 static struct attribute *pmc_attrs[] = {
        &dev_attr_smu_fw_version.attr,
        &dev_attr_smu_program.attr,
        NULL,
 };
-ATTRIBUTE_GROUPS(pmc);
+
+static struct attribute_group pmc_attr_group = {
+       .attrs = pmc_attrs,
+       .is_visible = pmc_attr_is_visible,
+};
+
+static const struct attribute_group *pmc_groups[] = {
+       &pmc_attr_group,
+       NULL,
+};
 
 static int smu_fw_info_show(struct seq_file *s, void *unused)
 {