linux/include/sound
Takashi Iwai 7d2aae1e88 [PATCH] ALSA: Fix sysfs breakage
The recent change for a new sysfs tree with card* object breaks the
/sys/class/sound tree if CONFIG_SYSFS_DEPRECATED is enabled.
The device in each entry doesn't point the correct device object:

  /sys/class/sound
  ...
  |-- pcmC0D0c
  |   |-- dev
  |   |-- device -> ../../../class/sound/card0
  |   |-- pcm_class
  |   |-- power
  |   |   `-- wakeup
  |   |-- subsystem -> ../../../class/sound
  |   `-- uevent

Also, this change breaks some drivers (like sound/arm/*) referring
card->dev directly to obtain the device object for memory handling.

This patch reverts the semantics of card->dev to the former version,
which points to a real device object.  The card* object is stored in a
new card->card_dev field, instead.  The device parent is chosen either
card->dev or card->card_dev according to CONFIG_SYSFS_DEPRECATED to
keep the tree compatibility.
Also, card* isn't created if CONFIG_SYSFS_DEPRECATED is enabled.  The
reason of card* object is a root of all beloing devices, and it makes
little sense if each sound device points to the real device object
directly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Monty Montgomery <xiphmont@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-01-29 14:32:53 -08:00
..
ac97_codec.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
ad1816a.h [ALSA] Remove xxx_t typedefs: ISA AD1816A 2006-01-03 12:18:18 +01:00
ad1848.h [ALSA] Add dB scale information to ad1848 driver 2006-09-23 10:43:28 +02:00
ainstr_fm.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_gf1.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_iw.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ainstr_simple.h [ALSA] Remove xxx_t typedefs: Instrument layer 2006-01-03 12:17:54 +01:00
ak4xxx-adda.h [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
ak4114.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
ak4117.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:09 +01:00
ak4531_codec.h [ALSA] semaphore -> mutex (PCI part) 2006-03-22 10:25:29 +01:00
asequencer.h [ALSA] add more sequencer port type information bits 2006-06-22 21:33:18 +02:00
asound_fm.h [ALSA] Remove xxx_t typedefs: OPL3 2006-01-03 12:18:04 +01:00
asound.h [ALSA] Control API - more robust TLV implementation 2006-09-23 10:37:26 +02:00
asoundef.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
control.h [ALSA] Remove unused tlv_rw field from struct snd_kcontrol 2006-09-23 10:37:49 +02:00
core.h [PATCH] ALSA: Fix sysfs breakage 2007-01-29 14:32:53 -08:00
cs46xx_dsp_scb_types.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs46xx_dsp_spos.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs46xx_dsp_task_types.h [ALSA] Remove xxx_t typedefs: PCI CS46xx 2006-01-03 12:18:45 +01:00
cs46xx.h [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
cs4231.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cs8403.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
cs8427.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
driver.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
emu10k1_synth.h [ALSA] Remove xxx_t typedefs: PCI emu10k1 2006-01-03 12:18:47 +01:00
emu10k1.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
emu8000_reg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
emu8000.h [ALSA] Remove xxx_t typedefs: ISA SB8/SB16/SBAWE 2006-01-03 12:18:25 +01:00
emux_legacy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
emux_synth.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
es1688.h [ALSA] Remove xxx_t typedefs: ISA ES1688 2006-01-03 12:18:23 +01:00
gus.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
hdsp.h Fix integer types in <sound/hdsp.h> SNDRV_HDSP_IOCTL_GET_PEAK_RMS ioctl 2006-05-04 00:42:42 +01:00
hdspm.h [ALSA] Remove xxx_t typedefs: PCI HDSP-MADI 2006-01-03 12:18:53 +01:00
hwdep.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
i2c.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
info.h [ALSA] Fix disconnection of proc interface 2006-09-23 10:36:48 +02:00
initval.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
memalloc.h [PATCH] gfp_t: sound 2005-10-28 08:16:50 -07:00
minors.h [ALSA] dynamic minors (4/6): dynamic minor number allocation 2006-01-03 12:29:19 +01:00
mixer_oss.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
mpu401.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
opl3.h [PATCH] sound: remove PC98-specific OPL3_HW_OPL3_PC98 2006-03-24 07:33:26 -08:00
opl4.h [ALSA] Remove xxx_t typedefs: OPL4 2006-01-03 12:18:06 +01:00
pcm_oss.h [ALSA] Fix races in PCM OSS emulation 2006-12-20 08:55:54 +01:00
pcm_params.h [ALSA] Move OSS-specific hw_params helper to snd-pcm-oss module 2006-06-22 21:33:05 +02:00
pcm-indirect.h [ALSA] Remove xxx_t typedefs: PCM 2006-01-03 12:17:43 +01:00
pcm.h [PATCH] severing poll.h -> mm.h 2006-12-04 02:00:36 -05:00
rawmidi.h [ALSA] rawmidi: add get_port_info callback for sequencer information flags 2006-06-22 21:33:20 +02:00
sb16_csp.h [ALSA] semaphore -> mutex (ISA part) 2006-03-22 10:25:03 +01:00
sb.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
seq_device.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_instr.h [ALSA] semaphore -> mutex (core part) 2006-03-22 10:24:50 +01:00
seq_kernel.h [ALSA] seq: set client name in snd_seq_create_kernel_client() 2006-01-03 12:30:49 +01:00
seq_midi_emul.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_midi_event.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
seq_oss_legacy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seq_oss.h [ALSA] Remove xxx_t typedefs: Sequencer OSS-emulation 2006-01-03 12:17:57 +01:00
seq_virmidi.h [ALSA] Remove xxx_t typedefs: Sequencer 2006-01-03 12:17:52 +01:00
sfnt_info.h [ALSA] Remove xxx_t typedefs: Emu-X synth 2006-01-03 12:18:14 +01:00
snd_wavefront.h [ALSA] Remove xxx_t typedefs: ISA Wavefront 2006-01-03 12:18:30 +01:00
soundfont.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
sscape_ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tea575x-tuner.h V4L/DVB (4210b): git-dvb: tea575x-tuner build fix 2006-06-25 02:05:25 -03:00
tea6330t.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
timer.h [ALSA] Unregister device files at disconnection 2006-09-23 10:36:58 +02:00
tlv.h [ALSA] Add definition of TLV dB range compound 2006-09-23 10:46:11 +02:00
trident.h [ALSA] trident - Fix PM support 2006-01-03 12:27:37 +01:00
typedefs.h [ALSA] Backward-compatibility typedefs 2006-01-03 12:18:00 +01:00
uda1341.h [ALSA] Remove xxx_t typedefs: I2C drivers 2006-01-03 12:18:08 +01:00
util_mem.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
version.h [ALSA] version 1.0.14rc1 2007-01-09 10:57:25 +01:00
vx_core.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
wavefront_fx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wavefront.h [PATCH] Eliminate __attribute__ ((packed)) warnings for gcc-4.1 2006-01-08 20:14:07 -08:00
ymfpci.h [ALSA] Fix invalid assignment of PCI revision 2006-12-20 08:55:55 +01:00