linux-pinenote/sound/pci
Takashi Iwai 3256be6537 ALSA: hda - Add widget sysfs tree
This patch changes the sysfs files assigned to the codec device on the
bus which were formerly identical with hwdep sysfs files.  Now it
shows only a few core parameter, vendor_id, subsystem_id, revision_id,
afg, mfg, vendor_name and chip_name.

In addition, now a widget tree is added to the bus device sysfs
directory for showing the widget topology and attributes.  It's just a
flat tree consisting of subdirectories named as the widget NID
including various attributes like widget capability bits.  The AFG
(usually NID 0x01) is always found there, and it contains always
amp_in_caps, amp_out_caps and power_caps files.  Each of these
attributes show a single value.  The rest are the widget nodes
belonging to that AFG.  Note that the child node might not start from
0x02 but from another value like 0x0a.

Each child node may contain caps, pin_caps, amp_in_caps, amp_out_caps,
power_caps and connections files.  The caps (representing the widget
capability bits) always contain a value.  The rest may contain
value(s) if the attribute exists on the node.  Only connections file
show multiple values while other attributes have zero or one single
value.

An example of ls -R output is like below:
% ls -R /sys/bus/hdaudio/devices/hdaudioC0D0/
/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/:
01/  04/  07/  0a/  0d/  10/  13/  16/  19/  1c/  1f/  22/
02/  05/  08/  0b/  0e/  11/  14/  17/  1a/  1d/  20/  23/
03/  06/  09/  0c/  0f/  12/  15/  18/  1b/  1e/  21/

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/01:
amp_in_caps  amp_out_caps  power_caps

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/02:
amp_in_caps  amp_out_caps  caps  connections  pin_caps  pin_cfg
power_caps

/sys/bus/hdaudio/devices/hdaudioC0D0/widgets/03:
.....

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2015-03-23 13:17:27 +01:00
..
ac97 ALSA: ac97: ac97_patch: Simplify patch_vt1613_specific() 2015-03-06 17:47:27 +01:00
ali5451 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
asihpi ALSA: Include linux/uaccess.h and linux/bitopts.h instead of asm/* 2015-01-28 17:25:07 +01:00
au88x0 ALSA: au88x0: Remove superfluous ifdef __KERNEL__ 2015-01-28 17:26:45 +01:00
aw2 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ca0106 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
cs46xx ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
cs5535audio ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ctxfi Merge branch 'topic/pci-cleanup' into for-next 2015-01-11 11:26:48 +01:00
echoaudio ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
emu10k1 ALSA: seq: Define driver object in each driver 2015-02-12 14:15:54 +01:00
hda ALSA: hda - Add widget sysfs tree 2015-03-23 13:17:27 +01:00
ice1712 ALSA: ice1724: ESI W192M: Add sampling rate control of the ADC/DAC 2015-03-18 08:07:00 +01:00
korg1212 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
lola ALSA: Deletion of checks before the function call "iounmap" 2015-01-04 15:13:45 +01:00
lx6464es ALSA: Fix invalid kerneldoc markers 2014-11-11 09:39:17 +01:00
mixart ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
nm256 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
oxygen ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
pcxhr ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
riptide ALSA: off by one bug in snd_riptide_joystick_probe() 2015-02-09 14:57:15 +01:00
rme9652 ALSA: hdspm - DRY cleanup of snd_pcm_ops 2015-02-17 07:40:36 +01:00
trident ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
vx222 ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ymfpci ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ad1889.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ad1889.h
ak4531_codec.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als300.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
als4000.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
atiixp.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
atiixp_modem.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
azt3328.c ALSA: azt3328: some indenting cleanups 2015-02-25 20:08:35 +01:00
azt3328.h
bt87x.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
cmipci.c ALSA: cmipci: remove a stray space character 2015-02-25 20:08:44 +01:00
cs4281.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
cs5530.c ASoC: sb16: Simplify snd_sb16dsp_pcm() 2015-01-02 16:28:35 +01:00
ens1370.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
ens1371.c
es1938.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
es1968.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
fm801.c ALSA: fm801: remove FSF address 2015-01-11 11:27:13 +01:00
intel8x0.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
intel8x0m.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
Kconfig ALSA: add Studio Evolution SE6X support 2015-01-16 22:44:56 +01:00
maestro3.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
Makefile ALSA: Add the driver for Digigram Lola PCI-e boards 2011-05-03 16:31:05 +02:00
rme32.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
rme96.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
sis7019.c Merge branch 'topic/pci-cleanup' into for-next 2015-01-11 11:26:48 +01:00
sis7019.h
sonicvibes.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
via82xx.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00
via82xx_modem.c ALSA: Include linux/io.h instead of asm/io.h 2015-01-28 16:49:33 +01:00