36 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2//3// Copyright(c) 2021-2024 Intel Corporation4//5// Authors: Cezary Rojewski <cezary.rojewski@intel.com>6// Amadeusz Slawinski <amadeuszx.slawinski@linux.intel.com>7//8 9#include <linux/sysfs.h>10#include "avs.h"11 12static ssize_t fw_version_show(struct device *dev, struct device_attribute *attr, char *buf)13{14 struct avs_dev *adev = to_avs_dev(dev);15 struct avs_fw_version *fw_version = &adev->fw_cfg.fw_version;16 17 return sysfs_emit(buf, "%d.%d.%d.%d\n", fw_version->major, fw_version->minor,18 fw_version->hotfix, fw_version->build);19}20static DEVICE_ATTR_RO(fw_version);21 22static struct attribute *avs_fw_attrs[] = {23 &dev_attr_fw_version.attr,24 NULL25};26 27static const struct attribute_group avs_attr_group = {28 .name = "avs",29 .attrs = avs_fw_attrs,30};31 32const struct attribute_group *avs_attr_groups[] = {33 &avs_attr_group,34 NULL35};36