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
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 [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
asound.h [ALSA] Control API - more robust TLV implementation 2006-09-23 10:37:26 +02:00
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_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
cs8427.h
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
emu8000.h
emux_legacy.h
emux_synth.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
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 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
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
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
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
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
seq_midi_event.h
seq_oss_legacy.h
seq_oss.h
seq_virmidi.h
sfnt_info.h
snd_wavefront.h
soundfont.h [ALSA] semaphore -> mutex (driver part) 2006-03-22 10:24:57 +01:00
sscape_ioctl.h
tea575x-tuner.h V4L/DVB (4210b): git-dvb: tea575x-tuner build fix 2006-06-25 02:05:25 -03:00
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 [ALSA] trident - Fix PM support 2006-01-03 12:27:37 +01:00
typedefs.h
uda1341.h
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
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