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
ad1816a.h
ad1848.h
ainstr_fm.h
ainstr_gf1.h
ainstr_iw.h
ainstr_simple.h
ak4xxx-adda.h
ak4114.h
ak4117.h
ak4531_codec.h
asequencer.h
asound_fm.h
asound.h
asoundef.h
control.h
core.h
cs46xx_dsp_scb_types.h
cs46xx_dsp_spos.h
cs46xx_dsp_task_types.h
cs46xx.h
cs4231.h
cs8403.h
cs8427.h
driver.h
emu10k1_synth.h
emu10k1.h
emu8000_reg.h
emu8000.h
emux_legacy.h
emux_synth.h
es1688.h
gus.h
hdsp.h
hdspm.h
hwdep.h
i2c.h
info.h
initval.h
Kbuild
memalloc.h
minors.h
mixer_oss.h
mpu401.h
opl3.h
opl4.h
pcm_oss.h
pcm_params.h
pcm-indirect.h
pcm.h
rawmidi.h
sb16_csp.h
sb.h
seq_device.h
seq_instr.h
seq_kernel.h
seq_midi_emul.h
seq_midi_event.h
seq_oss_legacy.h
seq_oss.h
seq_virmidi.h
sfnt_info.h
snd_wavefront.h
soundfont.h
sscape_ioctl.h
tea575x-tuner.h
tea6330t.h
timer.h
tlv.h
trident.h
typedefs.h
uda1341.h
util_mem.h
version.h
vx_core.h
wavefront_fx.h
wavefront.h
ymfpci.h