diff mbox series

ALSA: core: sysfs: show components string

Message ID 20200323193623.3587-1-pierre-louis.bossart@linux.intel.com
State New
Headers show
Series ALSA: core: sysfs: show components string | expand

Commit Message

Pierre-Louis Bossart March 23, 2020, 7:36 p.m. UTC
Add attribute and show the components string. This is useful to see
what is provided to userspace and e.g. used by UCM to understand the
card configuration:

root@plb:~# more /sys/class/sound/card0/components
HDA:8086280b,80860101,00100000 cfg-spk:2 hs:rt711 spk:rt1308 mic:rt715

Note that the style uses what's recommended by checkpatch.pl and is
slightly different from other sysfs attributes.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/core/init.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff mbox series

Patch

diff --git a/sound/core/init.c b/sound/core/init.c
index b02a99766351..decaf944a8ad 100644
--- a/sound/core/init.c
+++ b/sound/core/init.c
@@ -695,9 +695,21 @@  card_number_show_attr(struct device *dev,
 
 static DEVICE_ATTR(number, 0444, card_number_show_attr, NULL);
 
+static ssize_t
+components_show(struct device *dev,
+		struct device_attribute *attr, char *buf)
+{
+	struct snd_card *card = container_of(dev, struct snd_card, card_dev);
+
+	return scnprintf(buf, PAGE_SIZE, "%s\n", card->components);
+}
+
+static DEVICE_ATTR_RO(components);
+
 static struct attribute *card_dev_attrs[] = {
 	&dev_attr_id.attr,
 	&dev_attr_number.attr,
+	&dev_attr_components.attr,
 	NULL
 };