original_kernel/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
..
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
ac97_codec.h WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
ad1816a.h
ad1848.h [ALSA] Add dB scale information to ad1848 driver 2006-09-23 10:43:28 +02:00
ainstr_fm.h
ainstr_gf1.h
ainstr_iw.h
ainstr_simple.h
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
ak4531_codec.h
asequencer.h
asound.h [ALSA] Control API - more robust TLV implementation 2006-09-23 10:37:26 +02:00
asound_fm.h
asoundef.h
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.h [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
cs46xx_dsp_scb_types.h
cs46xx_dsp_spos.h
cs46xx_dsp_task_types.h
cs4231.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
cs8403.h
cs8427.h
driver.h
emu10k1.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
es1688.h
gus.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
hdsp.h
hdspm.h
hwdep.h
i2c.h
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
memalloc.h
minors.h
mixer_oss.h
mpu401.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
opl3.h
opl4.h
pcm-indirect.h
pcm.h [PATCH] severing poll.h -> mm.h 2006-12-04 02:00:36 -05:00
pcm_oss.h [ALSA] Fix races in PCM OSS emulation 2006-12-20 08:55:54 +01:00
pcm_params.h
rawmidi.h
sb.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sb16_csp.h
seq_device.h
seq_instr.h
seq_kernel.h
seq_midi_emul.h
seq_midi_event.h
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h
sfnt_info.h
snd_wavefront.h
soundfont.h
sscape_ioctl.h
tea575x-tuner.h
tea6330t.h
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
typedefs.h
uda1341.h
util_mem.h
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.h
wavefront_fx.h
ymfpci.h [ALSA] Fix invalid assignment of PCI revision 2006-12-20 08:55:55 +01:00