You can import this changeset into BK by piping this whole message to:
'| bk receive [path to repository]' or apply the patch as usual.

===================================================================


ChangeSet@1.646, 2002-10-01 09:03:23+02:00, perex@suse.cz
  ALSA update 2002/08/13 :
    - C99-like structure initializers - first bunch of changes
    - CS46xx
      - fixed the compile with the older image
    - AC'97 codec
      - added the ids for ITE chips
      - check the validity of registers always in the limited register mode
    - intel8x0
      - allow ICH4 to proceed without probing PCR / SCR bits
    - VIA686
      - AC97 cold reset only when AC-link is down


 include/sound/ad1848.h               |   16 -
 include/sound/cs4231.h               |   16 -
 include/sound/cs46xx.h               |    2 
 include/sound/version.h              |    2 
 sound/core/control.c                 |   18 -
 sound/core/hwdep.c                   |   28 +-
 sound/core/info.c                    |   24 +-
 sound/core/oss/pcm_oss.c             |   24 +-
 sound/core/pcm.c                     |    6 
 sound/core/pcm_native.c              |   60 ++---
 sound/core/pcm_timer.c               |   12 -
 sound/core/rawmidi.c                 |   24 +-
 sound/core/rtctimer.c                |   12 -
 sound/core/seq/oss/seq_oss.c         |   18 -
 sound/core/seq/seq_clientmgr.c       |   18 -
 sound/core/seq/seq_device.c          |    6 
 sound/core/seq/seq_virmidi.c         |   16 -
 sound/core/sound.c                   |    6 
 sound/core/timer.c                   |   32 +--
 sound/drivers/dummy.c                |   92 ++++----
 sound/drivers/mpu401/mpu401_uart.c   |   12 -
 sound/drivers/mtpav.c                |   12 -
 sound/drivers/opl3/opl3_lib.c        |   22 +-
 sound/drivers/opl3/opl3_oss.c        |   12 -
 sound/drivers/opl3/opl3_seq.c        |   14 -
 sound/drivers/serial-u16550.c        |   14 -
 sound/i2c/cs8427.c                   |   60 ++---
 sound/i2c/i2c.c                      |   10 
 sound/i2c/l3/uda1341.c               |   30 +-
 sound/i2c/tea6330t.c                 |   24 +-
 sound/isa/ad1816a/ad1816a_lib.c      |  125 ++++++------
 sound/isa/ad1848/ad1848_lib.c        |  102 ++++-----
 sound/isa/cs423x/cs4231_lib.c        |  120 +++++------
 sound/isa/cs423x/cs4236_lib.c        |   62 +++---
 sound/isa/dt019x.c                   |    2 
 sound/isa/es1688/es1688_lib.c        |  128 ++++++------
 sound/isa/es18xx.c                   |  178 ++++++++---------
 sound/isa/gus/gus_main.c             |   12 -
 sound/isa/gus/gus_mem_proc.c         |    4 
 sound/isa/gus/gus_mixer.c            |   12 -
 sound/isa/gus/gus_pcm.c              |  108 +++++-----
 sound/isa/gus/gus_timer.c            |   20 -
 sound/isa/gus/gus_uart.c             |   12 -
 sound/isa/gus/interwave.c            |    6 
 sound/isa/opl3sa2.c                  |   18 -
 sound/isa/opti9xx/opti92x-ad1848.c   |  120 +++++------
 sound/isa/sb/emu8000.c               |   74 +++----
 sound/isa/sb/emu8000_callback.c      |   28 +-
 sound/isa/sb/emu8000_pcm.c           |   48 ++--
 sound/isa/sb/es968.c                 |    2 
 sound/isa/sb/sb16_csp.c              |   20 -
 sound/isa/sb/sb16_main.c             |   94 ++++-----
 sound/isa/sb/sb8_main.c              |  112 +++++-----
 sound/isa/sb/sb8_midi.c              |   12 -
 sound/isa/sb/sb_common.c             |    2 
 sound/isa/sb/sb_mixer.c              |   34 +--
 sound/isa/wavefront/wavefront.c      |    4 
 sound/isa/wavefront/wavefront_midi.c |   12 -
 sound/pci/ac97/ac97_codec.c          |   76 +++----
 sound/pci/als4000.c                  |   92 ++++----
 sound/pci/cmipci.c                   |  358 +++++++++++++++++------------------
 sound/pci/cs4281.c                   |  138 ++++++-------
 sound/pci/cs46xx/cs46xx_lib.c        |    6 
 sound/pci/ens1370.c                  |  236 +++++++++++------------
 sound/pci/es1938.c                   |  166 ++++++++--------
 sound/pci/intel8x0.c                 |   62 +++---
 sound/pci/via686.c                   |   22 +-
 sound/sound_core.c                   |    4 
 sound/synth/emux/emux_oss.c          |   12 -
 69 files changed, 1651 insertions(+), 1634 deletions(-)


diff -Nru a/include/sound/ad1848.h b/include/sound/ad1848.h
--- a/include/sound/ad1848.h	Tue Oct  1 17:06:28 2002
+++ b/include/sound/ad1848.h	Tue Oct  1 17:06:28 2002
@@ -166,20 +166,20 @@
 void snd_ad1848_interrupt(int irq, void *dev_id, struct pt_regs *regs);
 
 #define AD1848_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_ad1848_info_single, \
-  get: snd_ad1848_get_single, put: snd_ad1848_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_ad1848_info_single, \
+  .get = snd_ad1848_get_single, .put = snd_ad1848_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 int snd_ad1848_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo);
 int snd_ad1848_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
 int snd_ad1848_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
 
 #define AD1848_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_ad1848_info_double, \
-  get: snd_ad1848_get_double, put: snd_ad1848_put_double, \
-  private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_ad1848_info_double, \
+  .get = snd_ad1848_get_double, .put = snd_ad1848_put_double, \
+  .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 int snd_ad1848_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo);
 int snd_ad1848_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
diff -Nru a/include/sound/cs4231.h b/include/sound/cs4231.h
--- a/include/sound/cs4231.h	Tue Oct  1 17:06:28 2002
+++ b/include/sound/cs4231.h	Tue Oct  1 17:06:28 2002
@@ -298,20 +298,20 @@
  */
 
 #define CS4231_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4231_info_single, \
-  get: snd_cs4231_get_single, put: snd_cs4231_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_cs4231_info_single, \
+  .get = snd_cs4231_get_single, .put = snd_cs4231_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 int snd_cs4231_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo);
 int snd_cs4231_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
 int snd_cs4231_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
 
 #define CS4231_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4231_info_double, \
-  get: snd_cs4231_get_double, put: snd_cs4231_put_double, \
-  private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_cs4231_info_double, \
+  .get = snd_cs4231_get_double, .put = snd_cs4231_put_double, \
+  .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 int snd_cs4231_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo);
 int snd_cs4231_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol);
diff -Nru a/include/sound/cs46xx.h b/include/sound/cs46xx.h
--- a/include/sound/cs46xx.h	Tue Oct  1 17:06:28 2002
+++ b/include/sound/cs46xx.h	Tue Oct  1 17:06:28 2002
@@ -1802,6 +1802,7 @@
 	int amplifier;
 	void (*amplifier_ctrl)(cs46xx_t *, int);
 	void (*active_ctrl)(cs46xx_t *, int);
+  	void (*mixer_init)(cs46xx_t *);
 	struct pci_dev *acpi_dev;
 	int acpi_port;
 	snd_kcontrol_t *eapd_switch; /* for amplifier hack */
@@ -1816,7 +1817,6 @@
   int current_gpio;
 #endif
 #ifdef CONFIG_SND_CS46XX_NEW_DSP
-  	void (*mixer_init)(cs46xx_t *);
 	dsp_spos_instance_t * dsp_spos_instance;
 #else /* for compatibility */
 	cs46xx_pcm_t *playback_pcm;
diff -Nru a/include/sound/version.h b/include/sound/version.h
--- a/include/sound/version.h	Tue Oct  1 17:06:28 2002
+++ b/include/sound/version.h	Tue Oct  1 17:06:28 2002
@@ -1,3 +1,3 @@
 /* include/version.h.  Generated automatically by configure.  */
 #define CONFIG_SND_VERSION "0.9.0rc2"
-#define CONFIG_SND_DATE " (Mon Aug 12 16:33:34 2002 UTC)"
+#define CONFIG_SND_DATE " (Tue Aug 13 16:29:18 2002 UTC)"
diff -Nru a/sound/core/control.c b/sound/core/control.c
--- a/sound/core/control.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/control.c	Tue Oct  1 17:06:28 2002
@@ -766,20 +766,20 @@
 static struct file_operations snd_ctl_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_ctl_read,
-	open:		snd_ctl_open,
-	release:	snd_ctl_release,
-	poll:		snd_ctl_poll,
-	ioctl:		snd_ctl_ioctl,
-	fasync:		snd_ctl_fasync,
+	.read =		snd_ctl_read,
+	.open =		snd_ctl_open,
+	.release =	snd_ctl_release,
+	.poll =		snd_ctl_poll,
+	.ioctl =	snd_ctl_ioctl,
+	.fasync =	snd_ctl_fasync,
 };
 
 static snd_minor_t snd_ctl_reg =
 {
-	comment:	"ctl",
-	f_ops:		&snd_ctl_f_ops,
+	.comment =	"ctl",
+	.f_ops =	&snd_ctl_f_ops,
 };
 
 int snd_ctl_register(snd_card_t *card)
diff -Nru a/sound/core/hwdep.c b/sound/core/hwdep.c
--- a/sound/core/hwdep.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/hwdep.c	Tue Oct  1 17:06:28 2002
@@ -238,22 +238,22 @@
 static struct file_operations snd_hwdep_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner = 	THIS_MODULE,
 #endif
-	llseek:		snd_hwdep_llseek,
-	read:		snd_hwdep_read,
-	write:		snd_hwdep_write,
-	open:		snd_hwdep_open,
-	release:	snd_hwdep_release,
-	poll:		snd_hwdep_poll,
-	ioctl:		snd_hwdep_ioctl,
-	mmap:		snd_hwdep_mmap,
+	.llseek =	snd_hwdep_llseek,
+	.read = 	snd_hwdep_read,
+	.write =	snd_hwdep_write,
+	.open =		snd_hwdep_open,
+	.release =	snd_hwdep_release,
+	.poll =		snd_hwdep_poll,
+	.ioctl =	snd_hwdep_ioctl,
+	.mmap =		snd_hwdep_mmap,
 };
 
 static snd_minor_t snd_hwdep_reg =
 {
-	comment:	"hardware dependent",
-	f_ops:		&snd_hwdep_f_ops,
+	.comment =	"hardware dependent",
+	.f_ops =	&snd_hwdep_f_ops,
 };
 
 int snd_hwdep_new(snd_card_t * card, char *id, int device, snd_hwdep_t ** rhwdep)
@@ -261,9 +261,9 @@
 	snd_hwdep_t *hwdep;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_hwdep_dev_free,
-		dev_register:	snd_hwdep_dev_register,
-		dev_unregister:	snd_hwdep_dev_unregister
+		.dev_free = snd_hwdep_dev_free,
+		.dev_register = snd_hwdep_dev_register,
+		.dev_unregister = snd_hwdep_dev_unregister
 	};
 
 	snd_assert(rhwdep != NULL, return -EINVAL);
diff -Nru a/sound/core/info.c b/sound/core/info.c
--- a/sound/core/info.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/info.c	Tue Oct  1 17:06:28 2002
@@ -531,16 +531,16 @@
 static struct file_operations snd_info_entry_operations =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	llseek:		snd_info_entry_llseek,
-	read:		snd_info_entry_read,
-	write:		snd_info_entry_write,
-	poll:		snd_info_entry_poll,
-	ioctl:		snd_info_entry_ioctl,
-	mmap:		snd_info_entry_mmap,
-	open:		snd_info_entry_open,
-	release:	snd_info_entry_release,
+	.llseek =	snd_info_entry_llseek,
+	.read =		snd_info_entry_read,
+	.write =	snd_info_entry_write,
+	.poll =		snd_info_entry_poll,
+	.ioctl =	snd_info_entry_ioctl,
+	.mmap =		snd_info_entry_mmap,
+	.open =		snd_info_entry_open,
+	.release =	snd_info_entry_release,
 };
 
 #ifdef LINUX_2_2
@@ -602,10 +602,10 @@
 struct inode_operations snd_info_card_link_inode_operations =
 {
 #ifdef LINUX_2_2
-	default_file_ops:	&snd_info_card_link_operations,
+	.default_file_ops =	&snd_info_card_link_operations,
 #endif
-	readlink:		snd_info_card_readlink,
-	follow_link:		snd_info_card_followlink,
+	.readlink =		snd_info_card_readlink,
+	.follow_link =		snd_info_card_followlink,
 };
 
 struct proc_dir_entry *snd_create_proc_entry(const char *name, mode_t mode,
diff -Nru a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
--- a/sound/core/oss/pcm_oss.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/oss/pcm_oss.c	Tue Oct  1 17:06:28 2002
@@ -2083,21 +2083,21 @@
 static struct file_operations snd_pcm_oss_f_reg =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_pcm_oss_read,
-	write:		snd_pcm_oss_write,
-	open:		snd_pcm_oss_open,
-	release:	snd_pcm_oss_release,
-	poll:		snd_pcm_oss_poll,
-	ioctl:		snd_pcm_oss_ioctl,
-	mmap:		snd_pcm_oss_mmap,
+	.read =		snd_pcm_oss_read,
+	.write =	snd_pcm_oss_write,
+	.open =		snd_pcm_oss_open,
+	.release =	snd_pcm_oss_release,
+	.poll =		snd_pcm_oss_poll,
+	.ioctl =	snd_pcm_oss_ioctl,
+	.mmap =		snd_pcm_oss_mmap,
 };
 
 static snd_minor_t snd_pcm_oss_reg =
 {
-	comment:	"digital audio",
-	f_ops:		&snd_pcm_oss_f_reg,
+	.comment =	"digital audio",
+	.f_ops =	&snd_pcm_oss_f_reg,
 };
 
 static void register_oss_dsp(unsigned short native_minor, snd_pcm_t *pcm, int index)
@@ -2159,8 +2159,8 @@
 
 static snd_pcm_notify_t snd_pcm_oss_notify =
 {
-	n_register:	snd_pcm_oss_register_minor,
-	n_unregister:	snd_pcm_oss_unregister_minor,
+	.n_register =	snd_pcm_oss_register_minor,
+	.n_unregister =	snd_pcm_oss_unregister_minor,
 };
 
 static int __init alsa_pcm_oss_init(void)
diff -Nru a/sound/core/pcm.c b/sound/core/pcm.c
--- a/sound/core/pcm.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/pcm.c	Tue Oct  1 17:06:28 2002
@@ -598,9 +598,9 @@
 	snd_pcm_t *pcm;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_pcm_dev_free,
-		dev_register:	snd_pcm_dev_register,
-		dev_unregister:	snd_pcm_dev_unregister
+		.dev_free = snd_pcm_dev_free,
+		.dev_register =	snd_pcm_dev_register,
+		.dev_unregister = snd_pcm_dev_unregister
 	};
 
 	snd_assert(rpcm != NULL, return -EINVAL);
diff -Nru a/sound/core/pcm_native.c b/sound/core/pcm_native.c
--- a/sound/core/pcm_native.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/pcm_native.c	Tue Oct  1 17:06:28 2002
@@ -2523,9 +2523,9 @@
 
 static struct vm_operations_struct snd_pcm_vm_ops_status =
 {
-	nopage:		snd_pcm_mmap_status_nopage,
+	.nopage =	snd_pcm_mmap_status_nopage,
 #ifndef VM_RESERVED
-	swapout:	snd_pcm_mmap_swapout,
+	.swapout =	snd_pcm_mmap_swapout,
 #endif
 };
 
@@ -2577,9 +2577,9 @@
 
 static struct vm_operations_struct snd_pcm_vm_ops_control =
 {
-	nopage:		snd_pcm_mmap_control_nopage,
+	.nopage =	snd_pcm_mmap_control_nopage,
 #ifndef VM_RESERVED
-	swapout:	snd_pcm_mmap_swapout,
+	.swapout =	snd_pcm_mmap_swapout,
 #endif
 };
 
@@ -2662,11 +2662,11 @@
 
 static struct vm_operations_struct snd_pcm_vm_ops_data =
 {
-	open:		snd_pcm_mmap_data_open,
-	close:		snd_pcm_mmap_data_close,
-	nopage:		snd_pcm_mmap_data_nopage,
+	.open =		snd_pcm_mmap_data_open,
+	.close =	snd_pcm_mmap_data_close,
+	.nopage =	snd_pcm_mmap_data_nopage,
 #ifndef VM_RESERVED
-	swapout:	snd_pcm_mmap_swapout,
+	.swapout =	snd_pcm_mmap_swapout,
 #endif
 };
 
@@ -2842,44 +2842,44 @@
 
 static struct file_operations snd_pcm_f_ops_playback = {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	write:		snd_pcm_write,
+	.write =	snd_pcm_write,
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 3, 44)
-	writev:		snd_pcm_writev,
+	.writev =	snd_pcm_writev,
 #endif
-	open:		snd_pcm_open,
-	release:	snd_pcm_release,
-	poll:		snd_pcm_playback_poll,
-	ioctl:		snd_pcm_playback_ioctl,
-	mmap:		snd_pcm_mmap,
-	fasync:		snd_pcm_fasync,
+	.open =		snd_pcm_open,
+	.release =	snd_pcm_release,
+	.poll =		snd_pcm_playback_poll,
+	.ioctl =	snd_pcm_playback_ioctl,
+	.mmap =		snd_pcm_mmap,
+	.fasync =	snd_pcm_fasync,
 };
 
 static struct file_operations snd_pcm_f_ops_capture = {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_pcm_read,
+	.read =		snd_pcm_read,
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 3, 44)
-	readv:		snd_pcm_readv,
+	.readv =	snd_pcm_readv,
 #endif
-	open:		snd_pcm_open,
-	release:	snd_pcm_release,
-	poll:		snd_pcm_capture_poll,
-	ioctl:		snd_pcm_capture_ioctl,
-	mmap:		snd_pcm_mmap,
-	fasync:		snd_pcm_fasync,
+	.open =		snd_pcm_open,
+	.release =	snd_pcm_release,
+	.poll =		snd_pcm_capture_poll,
+	.ioctl =	snd_pcm_capture_ioctl,
+	.mmap =		snd_pcm_mmap,
+	.fasync =	snd_pcm_fasync,
 };
 
 snd_minor_t snd_pcm_reg[2] =
 {
 	{
-		comment:	"digital audio playback",
-		f_ops:		&snd_pcm_f_ops_playback,
+		.comment =	"digital audio playback",
+		.f_ops =	&snd_pcm_f_ops_playback,
 	},
 	{
-		comment:	"digital audio capture",
-		f_ops:		&snd_pcm_f_ops_capture,
+		.comment =	"digital audio capture",
+		.f_ops =	&snd_pcm_f_ops_capture,
 	}
 };
diff -Nru a/sound/core/pcm_timer.c b/sound/core/pcm_timer.c
--- a/sound/core/pcm_timer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/pcm_timer.c	Tue Oct  1 17:06:28 2002
@@ -105,12 +105,12 @@
 
 static struct _snd_timer_hardware snd_pcm_timer =
 {
-	flags:		SNDRV_TIMER_HW_AUTO | SNDRV_TIMER_HW_SLAVE,
-	resolution:	0,
-	ticks:		1,
-	c_resolution:	snd_pcm_timer_resolution,
-	start:		snd_pcm_timer_start,
-	stop:		snd_pcm_timer_stop,
+	.flags =	SNDRV_TIMER_HW_AUTO | SNDRV_TIMER_HW_SLAVE,
+	.resolution =	0,
+	.ticks =	1,
+	.c_resolution =	snd_pcm_timer_resolution,
+	.start =	snd_pcm_timer_start,
+	.stop =		snd_pcm_timer_stop,
 };
 
 /*
diff -Nru a/sound/core/rawmidi.c b/sound/core/rawmidi.c
--- a/sound/core/rawmidi.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/rawmidi.c	Tue Oct  1 17:06:28 2002
@@ -1280,20 +1280,20 @@
 static struct file_operations snd_rawmidi_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_rawmidi_read,
-	write:		snd_rawmidi_write,
-	open:		snd_rawmidi_open,
-	release:	snd_rawmidi_release,
-	poll:		snd_rawmidi_poll,
-	ioctl:		snd_rawmidi_ioctl,
+	.read =		snd_rawmidi_read,
+	.write =	snd_rawmidi_write,
+	.open =		snd_rawmidi_open,
+	.release =	snd_rawmidi_release,
+	.poll =		snd_rawmidi_poll,
+	.ioctl =	snd_rawmidi_ioctl,
 };
 
 static snd_minor_t snd_rawmidi_reg =
 {
-	comment:	"raw midi",
-	f_ops:		&snd_rawmidi_f_ops,
+	.comment =	"raw midi",
+	.f_ops =	&snd_rawmidi_f_ops,
 };
 
 static int snd_rawmidi_alloc_substreams(snd_rawmidi_t *rmidi,
@@ -1326,9 +1326,9 @@
 	snd_rawmidi_t *rmidi;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_rawmidi_dev_free,
-		dev_register:	snd_rawmidi_dev_register,
-		dev_unregister:	snd_rawmidi_dev_unregister
+		.dev_free = snd_rawmidi_dev_free,
+		.dev_register = snd_rawmidi_dev_register,
+		.dev_unregister = snd_rawmidi_dev_unregister
 	};
 
 	snd_assert(rrawmidi != NULL, return -EINVAL);
diff -Nru a/sound/core/rtctimer.c b/sound/core/rtctimer.c
--- a/sound/core/rtctimer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/rtctimer.c	Tue Oct  1 17:06:28 2002
@@ -56,12 +56,12 @@
  * The hardware dependent description for this timer.
  */
 static struct _snd_timer_hardware rtc_hw = {
-	flags:		SNDRV_TIMER_HW_FIRST|SNDRV_TIMER_HW_AUTO,
-	ticks:		100000000L,		/* FIXME: XXX */
-	open:		rtctimer_open,
-	close:		rtctimer_close,
-	start:		rtctimer_start,
-	stop:		rtctimer_stop,
+	.flags =	SNDRV_TIMER_HW_FIRST|SNDRV_TIMER_HW_AUTO,
+	.ticks =	100000000L,		/* FIXME: XXX */
+	.open =		rtctimer_open,
+	.close =	rtctimer_close,
+	.start =	rtctimer_start,
+	.stop =		rtctimer_stop,
 };
 
 int rtctimer_freq = RTC_FREQ;		/* frequency */
diff -Nru a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c
--- a/sound/core/seq/oss/seq_oss.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/seq/oss/seq_oss.c	Tue Oct  1 17:06:28 2002
@@ -195,19 +195,19 @@
 static struct file_operations seq_oss_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		odev_read,
-	write:		odev_write,
-	open:		odev_open,
-	release:	odev_release,
-	poll:		odev_poll,
-	ioctl:		odev_ioctl,
+	.read =		odev_read,
+	.write =	odev_write,
+	.open =		odev_open,
+	.release =	odev_release,
+	.poll =		odev_poll,
+	.ioctl =	odev_ioctl,
 };
 
 static snd_minor_t seq_oss_reg = {
-	comment:	"sequencer",
-	f_ops:		&seq_oss_f_ops,
+	.comment =	"sequencer",
+	.f_ops =	&seq_oss_f_ops,
 };
 
 static int __init
diff -Nru a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
--- a/sound/core/seq/seq_clientmgr.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/seq/seq_clientmgr.c	Tue Oct  1 17:06:28 2002
@@ -2466,20 +2466,20 @@
 static struct file_operations snd_seq_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_seq_read,
-	write:		snd_seq_write,
-	open:		snd_seq_open,
-	release:	snd_seq_release,
-	poll:		snd_seq_poll,
-	ioctl:		snd_seq_ioctl,
+	.read =		snd_seq_read,
+	.write =	snd_seq_write,
+	.open =		snd_seq_open,
+	.release =	snd_seq_release,
+	.poll =		snd_seq_poll,
+	.ioctl =	snd_seq_ioctl,
 };
 
 static snd_minor_t snd_seq_reg =
 {
-	comment:	"sequencer",
-	f_ops:		&snd_seq_f_ops,
+	.comment =	"sequencer",
+	.f_ops =	&snd_seq_f_ops,
 };
 
 
diff -Nru a/sound/core/seq/seq_device.c b/sound/core/seq/seq_device.c
--- a/sound/core/seq/seq_device.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/seq/seq_device.c	Tue Oct  1 17:06:28 2002
@@ -164,9 +164,9 @@
 	ops_list_t *ops;
 	int err;
 	static snd_device_ops_t dops = {
-		dev_free:	snd_seq_device_dev_free,
-		dev_register:	snd_seq_device_dev_register,
-		dev_unregister:	snd_seq_device_dev_unregister
+		.dev_free = snd_seq_device_dev_free,
+		.dev_register = snd_seq_device_dev_register,
+		.dev_unregister = snd_seq_device_dev_unregister
 	};
 
 	if (result)
diff -Nru a/sound/core/seq/seq_virmidi.c b/sound/core/seq/seq_virmidi.c
--- a/sound/core/seq/seq_virmidi.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/seq/seq_virmidi.c	Tue Oct  1 17:06:28 2002
@@ -341,15 +341,15 @@
  */
 
 static snd_rawmidi_ops_t snd_virmidi_input_ops = {
-	open: snd_virmidi_input_open,
-	close: snd_virmidi_input_close,
-	trigger: snd_virmidi_input_trigger,
+	.open = snd_virmidi_input_open,
+	.close = snd_virmidi_input_close,
+	.trigger = snd_virmidi_input_trigger,
 };
 
 static snd_rawmidi_ops_t snd_virmidi_output_ops = {
-	open: snd_virmidi_output_open,
-	close: snd_virmidi_output_close,
-	trigger: snd_virmidi_output_trigger,
+	.open = snd_virmidi_output_open,
+	.close = snd_virmidi_output_close,
+	.trigger = snd_virmidi_output_trigger,
 };
 
 /*
@@ -468,8 +468,8 @@
  *
  */
 static snd_rawmidi_global_ops_t snd_virmidi_global_ops = {
-	dev_register: snd_virmidi_dev_register,
-	dev_unregister: snd_virmidi_dev_unregister,
+	.dev_register = snd_virmidi_dev_register,
+	.dev_unregister = snd_virmidi_dev_unregister,
 };
 
 /*
diff -Nru a/sound/core/sound.c b/sound/core/sound.c
--- a/sound/core/sound.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/sound.c	Tue Oct  1 17:06:28 2002
@@ -123,7 +123,7 @@
 	struct file_operations *old_fops;
 	int err = 0;
 
-	if (dev != SNDRV_MINOR_SEQUENCER) {
+	if (dev != SNDRV_MINOR_SEQUENCER && dev != SNDRV_MINOR_TIMER) {
 		if (snd_cards[card] == NULL) {
 #ifdef CONFIG_KMOD
 			snd_request_card(card);
@@ -154,9 +154,9 @@
 struct file_operations snd_fops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	open:		snd_open
+	.open =		snd_open
 };
 
 static int snd_kernel_minor(int type, snd_card_t * card, int dev)
diff -Nru a/sound/core/timer.c b/sound/core/timer.c
--- a/sound/core/timer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/core/timer.c	Tue Oct  1 17:06:28 2002
@@ -637,9 +637,9 @@
 	snd_timer_t *timer;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_timer_dev_free,
-		dev_register:	snd_timer_dev_register,
-		dev_unregister:	snd_timer_dev_unregister
+		.dev_free = snd_timer_dev_free,
+		.dev_register = snd_timer_dev_register,
+		.dev_unregister = snd_timer_dev_unregister
 	};
 
 	snd_assert(tid != NULL, return -EINVAL);
@@ -821,11 +821,11 @@
 
 static struct _snd_timer_hardware snd_timer_system =
 {
-	flags:		SNDRV_TIMER_HW_FIRST,
-	resolution:	1000000000L / HZ,
-	ticks:		10000000L,
-	start:		snd_timer_s_start,
-	stop:		snd_timer_s_stop
+	.flags =	SNDRV_TIMER_HW_FIRST,
+	.resolution =	1000000000L / HZ,
+	.ticks =	10000000L,
+	.start =	snd_timer_s_start,
+	.stop =		snd_timer_s_stop
 };
 
 static void snd_timer_free_system(snd_timer_t *timer)
@@ -1330,19 +1330,19 @@
 static struct file_operations snd_timer_f_ops =
 {
 #ifndef LINUX_2_2
-	owner:		THIS_MODULE,
+	.owner =	THIS_MODULE,
 #endif
-	read:		snd_timer_user_read,
-	open:		snd_timer_user_open,
-	release:	snd_timer_user_release,
-	poll:		snd_timer_user_poll,
-	ioctl:		snd_timer_user_ioctl,
+	.read =		snd_timer_user_read,
+	.open =		snd_timer_user_open,
+	.release =	snd_timer_user_release,
+	.poll =		snd_timer_user_poll,
+	.ioctl =	snd_timer_user_ioctl,
 };
 
 static snd_minor_t snd_timer_reg =
 {
-	comment:	"timer",
-	f_ops:		&snd_timer_f_ops,
+	.comment =	"timer",
+	.f_ops =	&snd_timer_f_ops,
 };
 
 /*
diff -Nru a/sound/drivers/dummy.c b/sound/drivers/dummy.c
--- a/sound/drivers/dummy.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/dummy.c	Tue Oct  1 17:06:28 2002
@@ -262,38 +262,38 @@
 
 static snd_pcm_hardware_t snd_card_dummy_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		USE_FORMATS,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5500,
-	rate_max:		48000,
-	channels_min:		USE_CHANNELS_MIN,
-	channels_max:		USE_CHANNELS_MAX,
-	buffer_bytes_max:	MAX_BUFFER_SIZE,
-	period_bytes_min:	64,
-	period_bytes_max:	MAX_BUFFER_SIZE,
-	periods_min:		USE_PERIODS_MIN,
-	periods_max:		USE_PERIODS_MAX,
-	fifo_size:		0,
+	.formats =		USE_FORMATS,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5500,
+	.rate_max =		48000,
+	.channels_min =		USE_CHANNELS_MIN,
+	.channels_max =		USE_CHANNELS_MAX,
+	.buffer_bytes_max =	MAX_BUFFER_SIZE,
+	.period_bytes_min =	64,
+	.period_bytes_max =	MAX_BUFFER_SIZE,
+	.periods_min =		USE_PERIODS_MIN,
+	.periods_max =		USE_PERIODS_MAX,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_card_dummy_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		USE_FORMATS,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5500,
-	rate_max:		48000,
-	channels_min:		USE_CHANNELS_MIN,
-	channels_max:		USE_CHANNELS_MAX,
-	buffer_bytes_max:	MAX_BUFFER_SIZE,
-	period_bytes_min:	64,
-	period_bytes_max:	MAX_BUFFER_SIZE,
-	periods_min:		USE_PERIODS_MIN,
-	periods_max:		USE_PERIODS_MAX,
-	fifo_size:		0,
+	.formats =		USE_FORMATS,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5500,
+	.rate_max =		48000,
+	.channels_min =		USE_CHANNELS_MIN,
+	.channels_max =		USE_CHANNELS_MAX,
+	.buffer_bytes_max =	MAX_BUFFER_SIZE,
+	.period_bytes_min =	64,
+	.period_bytes_max =	MAX_BUFFER_SIZE,
+	.periods_min =		USE_PERIODS_MIN,
+	.periods_max =		USE_PERIODS_MAX,
+	.fifo_size =		0,
 };
 
 static void snd_card_dummy_runtime_free(snd_pcm_runtime_t *runtime)
@@ -376,21 +376,21 @@
 }
 
 static snd_pcm_ops_t snd_card_dummy_playback_ops = {
-	open:			snd_card_dummy_playback_open,
-	close:			snd_card_dummy_playback_close,
-	ioctl:			snd_card_dummy_playback_ioctl,
-	prepare:		snd_card_dummy_playback_prepare,
-	trigger:		snd_card_dummy_playback_trigger,
-	pointer:		snd_card_dummy_playback_pointer,
+	.open =			snd_card_dummy_playback_open,
+	.close =		snd_card_dummy_playback_close,
+	.ioctl =		snd_card_dummy_playback_ioctl,
+	.prepare =		snd_card_dummy_playback_prepare,
+	.trigger =		snd_card_dummy_playback_trigger,
+	.pointer =		snd_card_dummy_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_card_dummy_capture_ops = {
-	open:			snd_card_dummy_capture_open,
-	close:			snd_card_dummy_capture_close,
-	ioctl:			snd_card_dummy_capture_ioctl,
-	prepare:		snd_card_dummy_capture_prepare,
-	trigger:		snd_card_dummy_capture_trigger,
-	pointer:		snd_card_dummy_capture_pointer,
+	.open =			snd_card_dummy_capture_open,
+	.close =		snd_card_dummy_capture_close,
+	.ioctl =		snd_card_dummy_capture_ioctl,
+	.prepare =		snd_card_dummy_capture_prepare,
+	.trigger =		snd_card_dummy_capture_trigger,
+	.pointer =		snd_card_dummy_capture_pointer,
 };
 
 static int __init snd_card_dummy_pcm(snd_card_dummy_t *dummy, int device, int substreams)
@@ -409,10 +409,10 @@
 }
 
 #define DUMMY_VOLUME(xname, xindex, addr) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_dummy_volume_info, \
-  get: snd_dummy_volume_get, put: snd_dummy_volume_put, \
-  private_value: addr }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_dummy_volume_info, \
+  .get = snd_dummy_volume_get, .put = snd_dummy_volume_put, \
+  .private_value = addr }
 
 static int snd_dummy_volume_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -455,10 +455,10 @@
 }                                                                                                                                                                                                                                                                                                            
 
 #define DUMMY_CAPSRC(xname, xindex, addr) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_dummy_capsrc_info, \
-  get: snd_dummy_capsrc_get, put: snd_dummy_capsrc_put, \
-  private_value: addr }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_dummy_capsrc_info, \
+  .get = snd_dummy_capsrc_get, .put = snd_dummy_capsrc_put, \
+  .private_value = addr }
 
 static int snd_dummy_capsrc_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo)
 {
diff -Nru a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
--- a/sound/drivers/mpu401/mpu401_uart.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/mpu401/mpu401_uart.c	Tue Oct  1 17:06:28 2002
@@ -350,16 +350,16 @@
 
 static snd_rawmidi_ops_t snd_mpu401_uart_output =
 {
-	open:		snd_mpu401_uart_output_open,
-	close:		snd_mpu401_uart_output_close,
-	trigger:	snd_mpu401_uart_output_trigger,
+	.open =		snd_mpu401_uart_output_open,
+	.close =	snd_mpu401_uart_output_close,
+	.trigger =	snd_mpu401_uart_output_trigger,
 };
 
 static snd_rawmidi_ops_t snd_mpu401_uart_input =
 {
-	open:		snd_mpu401_uart_input_open,
-	close:		snd_mpu401_uart_input_close,
-	trigger:	snd_mpu401_uart_input_trigger,
+	.open =		snd_mpu401_uart_input_open,
+	.close =	snd_mpu401_uart_input_close,
+	.trigger =	snd_mpu401_uart_input_trigger,
 };
 
 static void snd_mpu401_uart_free(snd_rawmidi_t *rmidi)
diff -Nru a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
--- a/sound/drivers/mtpav.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/mtpav.c	Tue Oct  1 17:06:28 2002
@@ -606,15 +606,15 @@
  */
 
 static snd_rawmidi_ops_t snd_mtpav_output = {
-	open:		snd_mtpav_output_open,
-	close:		snd_mtpav_output_close,
-	trigger:	snd_mtpav_output_trigger,
+	.open =		snd_mtpav_output_open,
+	.close =	snd_mtpav_output_close,
+	.trigger =	snd_mtpav_output_trigger,
 };
 
 static snd_rawmidi_ops_t snd_mtpav_input = {
-	open:		snd_mtpav_input_open,
-	close:		snd_mtpav_input_close,
-	trigger:	snd_mtpav_input_trigger,
+	.open =		snd_mtpav_input_open,
+	.close =	snd_mtpav_input_close,
+	.trigger =	snd_mtpav_input_trigger,
 };
 
 
diff -Nru a/sound/drivers/opl3/opl3_lib.c b/sound/drivers/opl3/opl3_lib.c
--- a/sound/drivers/opl3/opl3_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/opl3/opl3_lib.c	Tue Oct  1 17:06:28 2002
@@ -259,20 +259,20 @@
 
 static struct _snd_timer_hardware snd_opl3_timer1 =
 {
-	flags:		SNDRV_TIMER_HW_STOP,
-	resolution:	80000,
-	ticks:		256,
-	start:		snd_opl3_timer1_start,
-	stop:		snd_opl3_timer1_stop,
+	.flags =	SNDRV_TIMER_HW_STOP,
+	.resolution =	80000,
+	.ticks =	256,
+	.start =	snd_opl3_timer1_start,
+	.stop =		snd_opl3_timer1_stop,
 };
 
 static struct _snd_timer_hardware snd_opl3_timer2 =
 {
-	flags:		SNDRV_TIMER_HW_STOP,
-	resolution:	320000,
-	ticks:		256,
-	start:		snd_opl3_timer2_start,
-	stop:		snd_opl3_timer2_stop,
+	.flags =	SNDRV_TIMER_HW_STOP,
+	.resolution =	320000,
+	.ticks =	256,
+	.start =	snd_opl3_timer2_start,
+	.stop =		snd_opl3_timer2_stop,
 };
 
 static int snd_opl3_timer1_init(opl3_t * opl3, int timer_no)
@@ -380,7 +380,7 @@
 	opl3_t *opl3;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free: snd_opl3_dev_free,
+		.dev_free = snd_opl3_dev_free,
 	};
 
 	*ropl3 = NULL;
diff -Nru a/sound/drivers/opl3/opl3_oss.c b/sound/drivers/opl3/opl3_oss.c
--- a/sound/drivers/opl3/opl3_oss.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/opl3/opl3_oss.c	Tue Oct  1 17:06:28 2002
@@ -46,12 +46,12 @@
 extern snd_midi_op_t opl3_ops;
 
 static snd_seq_oss_callback_t oss_callback = {
-	owner: THIS_MODULE,
-	open: snd_opl3_open_seq_oss,
-	close: snd_opl3_close_seq_oss,
-	ioctl: snd_opl3_ioctl_seq_oss,
-	load_patch: snd_opl3_load_patch_seq_oss,
-	reset: snd_opl3_reset_seq_oss,
+	.owner = 	THIS_MODULE,
+	.open =		snd_opl3_open_seq_oss,
+	.close =	snd_opl3_close_seq_oss,
+	.ioctl =	snd_opl3_ioctl_seq_oss,
+	.load_patch =	snd_opl3_load_patch_seq_oss,
+	.reset =	snd_opl3_reset_seq_oss,
 };
 
 static int snd_opl3_oss_event_input(snd_seq_event_t *ev, int direct,
diff -Nru a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c
--- a/sound/drivers/opl3/opl3_seq.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/opl3/opl3_seq.c	Tue Oct  1 17:06:28 2002
@@ -146,13 +146,13 @@
  * MIDI emulation operators
  */
 snd_midi_op_t opl3_ops = {
-	snd_opl3_note_on,
-	snd_opl3_note_off,
-	snd_opl3_key_press,
-	snd_opl3_terminate_note,
-	snd_opl3_control,
-	snd_opl3_nrpn,
-	snd_opl3_sysex,
+	.note_on =		snd_opl3_note_on,
+	.note_off =		snd_opl3_note_off,
+	.key_press =		snd_opl3_key_press,
+	.note_terminate =	snd_opl3_terminate_note,
+	.control =		snd_opl3_control,
+	.nrpn =			snd_opl3_nrpn,
+	.sysex =		snd_opl3_sysex,
 };
 
 static int snd_opl3_synth_event_input(snd_seq_event_t * ev, int direct,
diff -Nru a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
--- a/sound/drivers/serial-u16550.c	Tue Oct  1 17:06:28 2002
+++ b/sound/drivers/serial-u16550.c	Tue Oct  1 17:06:28 2002
@@ -713,16 +713,16 @@
 
 static snd_rawmidi_ops_t snd_uart16550_output =
 {
-	open:		snd_uart16550_output_open,
-	close:		snd_uart16550_output_close,
-	trigger:	snd_uart16550_output_trigger,
+	.open =		snd_uart16550_output_open,
+	.close =	snd_uart16550_output_close,
+	.trigger =	snd_uart16550_output_trigger,
 };
 
 static snd_rawmidi_ops_t snd_uart16550_input =
 {
-	open:		snd_uart16550_input_open,
-	close:		snd_uart16550_input_close,
-	trigger:	snd_uart16550_input_trigger,
+	.open =		snd_uart16550_input_open,
+	.close =	snd_uart16550_input_close,
+	.trigger =	snd_uart16550_input_trigger,
 };
 
 static int snd_uart16550_free(snd_uart16550_t *uart)
@@ -752,7 +752,7 @@
 				       snd_uart16550_t **ruart)
 {
 	static snd_device_ops_t ops = {
-		dev_free:       snd_uart16550_dev_free,
+		.dev_free =	snd_uart16550_dev_free,
 	};
 	snd_uart16550_t *uart;
 	int err;
diff -Nru a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c
--- a/sound/i2c/cs8427.c	Tue Oct  1 17:06:28 2002
+++ b/sound/i2c/cs8427.c	Tue Oct  1 17:06:28 2002
@@ -82,7 +82,7 @@
 	buf[1] = val;
 	if ((err = snd_i2c_sendbytes(device, buf, 2)) != 2) {
 		snd_printk("unable to send bytes 0x%02x:0x%02x to CS8427 (%i)\n", buf[0], buf[1], err);
-		return err < 0 ? err : -EREMOTE;
+		return err < 0 ? err : -EIO;
 	}
 	return 0;
 }
@@ -94,11 +94,11 @@
 
 	if ((err = snd_i2c_sendbytes(device, &reg, 1)) != 1) {
 		snd_printk("unable to send register 0x%x byte to CS8427\n", reg);
-		return err < 0 ? err : -EREMOTE;
+		return err < 0 ? err : -EIO;
 	}
 	if ((err = snd_i2c_readbytes(device, &buf, 1)) != 1) {
 		snd_printk("unable to read register 0x%x byte from CS8427\n", reg);
-		return err < 0 ? err : -EREMOTE;
+		return err < 0 ? err : -EIO;
 	}
 	return buf;
 }
@@ -148,7 +148,7 @@
 	for (idx = 0; idx < count; idx++)
 		data[idx + 1] = swapbits(ndata[idx]);
 	if (snd_i2c_sendbytes(device, data, count) != count)
-		return -EREMOTE;
+		return -EIO;
 	return 1;
 }
 
@@ -226,7 +226,7 @@
 	/* send initial values */
 	memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6);
 	if ((err = snd_i2c_sendbytes(device, initvals1, 7)) != 7) {
-		err = err < 0 ? err : -EREMOTE;
+		err = err < 0 ? err : -EIO;
 		goto __fail;
 	}
 	/* Turn off CS8427 interrupt stuff that is not used in hardware */
@@ -238,7 +238,7 @@
 	/* send transfer initialization sequence */
 	memcpy(chip->regmap + (initvals2[0] & 0x7f), initvals2 + 1, 3);
 	if ((err = snd_i2c_sendbytes(device, initvals2, 4)) != 4) {
-		err = err < 0 ? err : -EREMOTE;
+		err = err < 0 ? err : -EIO;
 		goto __fail;
 	}
 	/* write default channel status bytes */
@@ -274,7 +274,7 @@
       __fail:
       	snd_i2c_unlock(bus);
       	snd_i2c_device_free(device);
-      	return err < 0 ? err : -EREMOTE;
+      	return err < 0 ? err : -EIO;
 }
 
 static int snd_cs8427_in_status_info(snd_kcontrol_t *kcontrol,
@@ -359,35 +359,35 @@
 
 static snd_kcontrol_new_t snd_cs8427_iec958_controls[] = {
 {
-	iface: SNDRV_CTL_ELEM_IFACE_PCM,
-	info: snd_cs8427_in_status_info,
-	name: "IEC958 CS8427 Input Status",
-	access: SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
-	get: snd_cs8427_in_status_get,
+	.iface =	SNDRV_CTL_ELEM_IFACE_PCM,
+	.info =		snd_cs8427_in_status_info,
+	.name =		"IEC958 CS8427 Input Status",
+	.access =	SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
+	.get =		snd_cs8427_in_status_get,
 },
 {
-	access:		SNDRV_CTL_ELEM_ACCESS_READ,
-	iface:		SNDRV_CTL_ELEM_IFACE_PCM,
-	name:           SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
-	info:		snd_cs8427_spdif_mask_info,
-	get:		snd_cs8427_spdif_mask_get,
+	.access =	SNDRV_CTL_ELEM_ACCESS_READ,
+	.iface =	SNDRV_CTL_ELEM_IFACE_PCM,
+	.name =		SNDRV_CTL_NAME_IEC958("",PLAYBACK,MASK),
+	.info =		snd_cs8427_spdif_mask_info,
+	.get =		snd_cs8427_spdif_mask_get,
 },
 {
-	iface:		SNDRV_CTL_ELEM_IFACE_PCM,
-	name:           SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
-	info:		snd_cs8427_spdif_info,
-	get:		snd_cs8427_spdif_get,
-	put:		snd_cs8427_spdif_put,
-	private_value:	0
+	.iface =	SNDRV_CTL_ELEM_IFACE_PCM,
+	.name =		SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
+	.info =		snd_cs8427_spdif_info,
+	.get =		snd_cs8427_spdif_get,
+	.put =		snd_cs8427_spdif_put,
+	.private_value = 0
 },
 {
-	access:		SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
-	iface:		SNDRV_CTL_ELEM_IFACE_PCM,
-	name:           SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
-	info:		snd_cs8427_spdif_info,
-	get:		snd_cs8427_spdif_get,
-	put:		snd_cs8427_spdif_put,
-	private_value:	1
+	.access =	SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE,
+	.iface =	SNDRV_CTL_ELEM_IFACE_PCM,
+	.name =		SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM),
+	.info =		snd_cs8427_spdif_info,
+	.get =		snd_cs8427_spdif_get,
+	.put =		snd_cs8427_spdif_put,
+	.private_value = 1
 }};
 
 int snd_cs8427_iec958_build(snd_i2c_device_t *cs8427,
diff -Nru a/sound/i2c/i2c.c b/sound/i2c/i2c.c
--- a/sound/i2c/i2c.c	Tue Oct  1 17:06:28 2002
+++ b/sound/i2c/i2c.c	Tue Oct  1 17:06:28 2002
@@ -37,9 +37,9 @@
 static int snd_i2c_bit_probeaddr(snd_i2c_bus_t *bus, unsigned short addr);
 
 static snd_i2c_ops_t snd_i2c_bit_ops = {
-	sendbytes: snd_i2c_bit_sendbytes,
-	readbytes: snd_i2c_bit_readbytes,
-	probeaddr: snd_i2c_bit_probeaddr,
+	.sendbytes = snd_i2c_bit_sendbytes,
+	.readbytes = snd_i2c_bit_readbytes,
+	.probeaddr = snd_i2c_bit_probeaddr,
 };
 
 static int snd_i2c_bus_free(snd_i2c_bus_t *bus)
@@ -77,7 +77,7 @@
 	snd_i2c_bus_t *bus;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:       snd_i2c_bus_dev_free,
+		.dev_free =	snd_i2c_bus_dev_free,
 	};
 
 	*ri2c = NULL;
@@ -220,7 +220,7 @@
 	ack = snd_i2c_bit_data(bus, 1);
 	snd_i2c_bit_direction(bus, 1, 1);	/* SCL - wr, SDA - wr */
 	snd_i2c_bit_set(bus, 0, 1);
-	return ack ? -EREMOTEIO : 0;
+	return ack ? -EIO : 0;
 }
 
 static int snd_i2c_bit_sendbyte(snd_i2c_bus_t *bus, unsigned char data)
diff -Nru a/sound/i2c/l3/uda1341.c b/sound/i2c/l3/uda1341.c
--- a/sound/i2c/l3/uda1341.c	Tue Oct  1 17:06:28 2002
+++ b/sound/i2c/l3/uda1341.c	Tue Oct  1 17:06:28 2002
@@ -16,7 +16,7 @@
  * 2002-04-12	Tomas Kasparek	Proc interface update, code cleanup
  */
 
-/* $Id: uda1341.c,v 1.2 2002/04/18 07:47:59 perex Exp $ */
+/* $Id: uda1341.c,v 1.3 2002/08/13 16:13:36 perex Exp $ */
 
 #include <sound/driver.h>
 #include <linux/module.h>
@@ -459,8 +459,8 @@
 /* {{{ UDA1341 single functions */
 
 #define UDA1341_SINGLE(xname, where, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_uda1341_info_single, \
-  get: snd_uda1341_get_single, put: snd_uda1341_put_single, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_uda1341_info_single, \
+  .get = snd_uda1341_get_single, put: snd_uda1341_put_single, \
   private_value: where | reg << 5 | (shift << 9) | (mask << 12) | (invert << 18) \
 }
 
@@ -521,8 +521,8 @@
 /* {{{ UDA1341 enum functions */
 
 #define UDA1341_ENUM(xname, where, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_uda1341_info_enum, \
-  get: snd_uda1341_get_enum, put: snd_uda1341_put_enum, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_uda1341_info_enum, \
+  .get = snd_uda1341_get_enum, put: snd_uda1341_put_enum, \
   private_value: where | reg << 5 | (shift << 9) | (mask << 12) | (invert << 18) \
 }
 
@@ -583,8 +583,8 @@
 /* {{{ UDA1341 2regs functions */
 
 #define UDA1341_2REGS(xname, where, reg_1, reg_2, shift_1, shift_2, mask_1, mask_2, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: (xname), info: snd_uda1341_info_2regs, \
-  get: snd_uda1341_get_2regs, put: snd_uda1341_put_2regs, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: (xname), info: snd_uda1341_info_2regs, \
+  .get = snd_uda1341_get_2regs, put: snd_uda1341_put_2regs, \
   private_value: where | (reg_1 << 5) | (reg_2 << 9) | (shift_1 << 13) | (shift_2 << 16) | \
                          (mask_1 << 19) | (mask_2 << 25) | (invert << 31) \
 }
@@ -839,17 +839,17 @@
 /* {{{ Module and L3 initialization */
 
 static struct l3_ops uda1341_ops = {
-	open:		uda1341_open,
-	command:	uda1341_command,
-	close:		uda1341_close,
+	.open =		uda1341_open,
+	.command =	uda1341_command,
+	.close =	uda1341_close,
 };
 
 static struct l3_driver uda1341_driver = {
-	name:		UDA1341_ALSA_NAME,
-	attach_client:	uda1341_attach,
-	detach_client:	uda1341_detach,
-	ops:		&uda1341_ops,
-	owner:		THIS_MODULE,
+	.name =		UDA1341_ALSA_NAME,
+	.attach_client = uda1341_attach,
+	.detach_client = uda1341_detach,
+	.ops =		&uda1341_ops,
+	.owner =	THIS_MODULE,
 };
 
 static int __init uda1341_init(void)
diff -Nru a/sound/i2c/tea6330t.c b/sound/i2c/tea6330t.c
--- a/sound/i2c/tea6330t.c	Tue Oct  1 17:06:28 2002
+++ b/sound/i2c/tea6330t.c	Tue Oct  1 17:06:28 2002
@@ -67,9 +67,9 @@
 #endif
 
 #define TEA6330T_MASTER_VOLUME(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_tea6330t_info_master_volume, \
-  get: snd_tea6330t_get_master_volume, put: snd_tea6330t_put_master_volume }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_tea6330t_info_master_volume, \
+  .get = snd_tea6330t_get_master_volume, put: snd_tea6330t_put_master_volume }
 
 static int snd_tea6330t_info_master_volume(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -123,9 +123,9 @@
 }
 
 #define TEA6330T_MASTER_SWITCH(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_tea6330t_info_master_switch, \
-  get: snd_tea6330t_get_master_switch, put: snd_tea6330t_put_master_switch }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_tea6330t_info_master_switch, \
+  .get = snd_tea6330t_get_master_switch, put: snd_tea6330t_put_master_switch }
 
 static int snd_tea6330t_info_master_switch(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -172,9 +172,9 @@
 }
 
 #define TEA6330T_BASS(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_tea6330t_info_bass, \
-  get: snd_tea6330t_get_bass, put: snd_tea6330t_put_bass }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_tea6330t_info_bass, \
+  .get = snd_tea6330t_get_bass, put: snd_tea6330t_put_bass }
 
 static int snd_tea6330t_info_bass(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -216,9 +216,9 @@
 }
 
 #define TEA6330T_TREBLE(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_tea6330t_info_treble, \
-  get: snd_tea6330t_get_treble, put: snd_tea6330t_put_treble }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_tea6330t_info_treble, \
+  .get = snd_tea6330t_get_treble, put: snd_tea6330t_put_treble }
 
 static int snd_tea6330t_info_treble(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
diff -Nru a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
--- a/sound/isa/ad1816a/ad1816a_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/ad1816a/ad1816a_lib.c	Tue Oct  1 17:06:28 2002
@@ -334,41 +334,41 @@
 
 
 static snd_pcm_hardware_t snd_ad1816a_playback = {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE |
 				 SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		55200,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		55200,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_ad1816a_capture = {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE |
 				 SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		55200,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		55200,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static int snd_ad1816a_timer_close(snd_timer_t *timer)
@@ -425,14 +425,14 @@
 }
 
 static struct _snd_timer_hardware snd_ad1816a_timer_table = {
-	flags:		SNDRV_TIMER_HW_AUTO,
-	resolution:	10000,
-	ticks:		65535,
-	open:		snd_ad1816a_timer_open,
-	close:		snd_ad1816a_timer_close,
-	c_resolution:	snd_ad1816a_timer_resolution,
-	start:		snd_ad1816a_timer_start,
-	stop:		snd_ad1816a_timer_stop,
+	.flags =	SNDRV_TIMER_HW_AUTO,
+	.resolution =	10000,
+	.ticks =	65535,
+	.open =		snd_ad1816a_timer_open,
+	.close =	snd_ad1816a_timer_close,
+	.c_resolution =	snd_ad1816a_timer_resolution,
+	.start =	snd_ad1816a_timer_start,
+	.stop =		snd_ad1816a_timer_stop,
 };
 
 
@@ -575,7 +575,7 @@
 		       ad1816a_t **rchip)
 {
         static snd_device_ops_t ops = {
-		dev_free:       snd_ad1816a_dev_free,
+		.dev_free =	snd_ad1816a_dev_free,
 	};
 	int error;
 	ad1816a_t *chip;
@@ -631,25 +631,25 @@
 }
 
 static snd_pcm_ops_t snd_ad1816a_playback_ops = {
-	open:		snd_ad1816a_playback_open,
-	close:		snd_ad1816a_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_ad1816a_hw_params,
-	hw_free:	snd_ad1816a_hw_free,
-	prepare:	snd_ad1816a_playback_prepare,
-	trigger:	snd_ad1816a_playback_trigger,
-	pointer:	snd_ad1816a_playback_pointer,
+	.open =		snd_ad1816a_playback_open,
+	.close =	snd_ad1816a_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_ad1816a_hw_params,
+	.hw_free =	snd_ad1816a_hw_free,
+	.prepare =	snd_ad1816a_playback_prepare,
+	.trigger =	snd_ad1816a_playback_trigger,
+	.pointer =	snd_ad1816a_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_ad1816a_capture_ops = {
-	open:		snd_ad1816a_capture_open,
-	close:		snd_ad1816a_capture_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_ad1816a_hw_params,
-	hw_free:	snd_ad1816a_hw_free,
-	prepare:	snd_ad1816a_capture_prepare,
-	trigger:	snd_ad1816a_capture_trigger,
-	pointer:	snd_ad1816a_capture_pointer,
+	.open =		snd_ad1816a_capture_open,
+	.close =	snd_ad1816a_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_ad1816a_hw_params,
+	.hw_free =	snd_ad1816a_hw_free,
+	.prepare =	snd_ad1816a_capture_prepare,
+	.trigger =	snd_ad1816a_capture_trigger,
+	.pointer =	snd_ad1816a_capture_pointer,
 };
 
 static void snd_ad1816a_pcm_free(snd_pcm_t *pcm)
@@ -768,9 +768,9 @@
 }
 
 #define AD1816A_SINGLE(xname, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ad1816a_info_single, \
-  get: snd_ad1816a_get_single, put: snd_ad1816a_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ad1816a_info_single, \
+  .get = snd_ad1816a_get_single, .put = snd_ad1816a_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_ad1816a_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -825,9 +825,9 @@
 }
 
 #define AD1816A_DOUBLE(xname, reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ad1816a_info_double, \
-  get: snd_ad1816a_get_double, put: snd_ad1816a_put_double, \
-  private_value: reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ad1816a_info_double, \
+  .get = snd_ad1816a_get_double, .put = snd_ad1816a_put_double, \
+  .private_value = reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24) }
 
 static int snd_ad1816a_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -917,11 +917,11 @@
 AD1816A_SINGLE("Phone Playback Switch", AD1816A_PHONE_OUT_ATT, 7, 1, 1),
 AD1816A_SINGLE("Phone Playback Volume", AD1816A_PHONE_OUT_ATT, 0, 31, 1),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_ad1816a_info_mux,
-	get: snd_ad1816a_get_mux,
-	put: snd_ad1816a_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_ad1816a_info_mux,
+	.get = snd_ad1816a_get_mux,
+	.put = snd_ad1816a_put_mux,
 },
 AD1816A_DOUBLE("Capture Switch", AD1816A_ADC_PGA, 15, 7, 1, 1),
 AD1816A_DOUBLE("Capture Volume", AD1816A_ADC_PGA, 8, 0, 15, 0),
@@ -962,4 +962,3 @@
 
 module_init(alsa_ad1816a_init)
 module_exit(alsa_ad1816a_exit)
-
diff -Nru a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c
--- a/sound/isa/ad1848/ad1848_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/ad1848/ad1848_lib.c	Tue Oct  1 17:06:28 2002
@@ -69,9 +69,9 @@
 };
 
 static snd_pcm_hw_constraint_list_t hw_constraints_rates = {
-	count: 14,
-	list: rates,
-	mask: 0,
+	.count = 14,
+	.list = rates,
+	.mask = 0,
 };
 
 static unsigned char snd_ad1848_original_image[16] =
@@ -702,40 +702,40 @@
 
 static snd_pcm_hardware_t snd_ad1848_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE),
-	rates:			SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5510,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5510,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_ad1848_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE),
-	rates:			SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5510,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5510,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 /*
@@ -834,7 +834,7 @@
 		      ad1848_t ** rchip)
 {
 	static snd_device_ops_t ops = {
-		dev_free:       snd_ad1848_dev_free,
+		.dev_free =	snd_ad1848_dev_free,
 	};
 	ad1848_t *chip;
 	int err;
@@ -883,25 +883,25 @@
 }
 
 static snd_pcm_ops_t snd_ad1848_playback_ops = {
-	open:		snd_ad1848_playback_open,
-	close:		snd_ad1848_playback_close,
-	ioctl:		snd_ad1848_ioctl,
-	hw_params:	snd_ad1848_playback_hw_params,
-	hw_free:	snd_ad1848_playback_hw_free,
-	prepare:	snd_ad1848_playback_prepare,
-	trigger:	snd_ad1848_playback_trigger,
-	pointer:	snd_ad1848_playback_pointer,
+	.open =		snd_ad1848_playback_open,
+	.close =	snd_ad1848_playback_close,
+	.ioctl =	snd_ad1848_ioctl,
+	.hw_params =	snd_ad1848_playback_hw_params,
+	.hw_free =	snd_ad1848_playback_hw_free,
+	.prepare =	snd_ad1848_playback_prepare,
+	.trigger =	snd_ad1848_playback_trigger,
+	.pointer =	snd_ad1848_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_ad1848_capture_ops = {
-	open:		snd_ad1848_capture_open,
-	close:		snd_ad1848_capture_close,
-	ioctl:		snd_ad1848_ioctl,
-	hw_params:	snd_ad1848_capture_hw_params,
-	hw_free:	snd_ad1848_capture_hw_free,
-	prepare:	snd_ad1848_capture_prepare,
-	trigger:	snd_ad1848_capture_trigger,
-	pointer:	snd_ad1848_capture_pointer,
+	.open =		snd_ad1848_capture_open,
+	.close =	snd_ad1848_capture_close,
+	.ioctl =	snd_ad1848_ioctl,
+	.hw_params =	snd_ad1848_capture_hw_params,
+	.hw_free =	snd_ad1848_capture_hw_free,
+	.prepare =	snd_ad1848_capture_prepare,
+	.trigger =	snd_ad1848_capture_trigger,
+	.pointer =	snd_ad1848_capture_pointer,
 };
 
 static void snd_ad1848_pcm_free(snd_pcm_t *pcm)
@@ -1121,11 +1121,11 @@
 AD1848_DOUBLE("Aux Playback Volume", 1, AD1848_AUX2_LEFT_INPUT, AD1848_AUX2_RIGHT_INPUT, 0, 0, 31, 1),
 AD1848_DOUBLE("Capture Volume", 0, AD1848_LEFT_INPUT, AD1848_RIGHT_INPUT, 0, 0, 15, 0),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_ad1848_info_mux,
-	get: snd_ad1848_get_mux,
-	put: snd_ad1848_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_ad1848_info_mux,
+	.get = snd_ad1848_get_mux,
+	.put = snd_ad1848_put_mux,
 },
 AD1848_SINGLE("Loopback Capture Switch", 0, AD1848_LOOPBACK, 0, 1, 0),
 AD1848_SINGLE("Loopback Capture Volume", 0, AD1848_LOOPBACK, 1, 63, 0)
diff -Nru a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c
--- a/sound/isa/cs423x/cs4231_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/cs423x/cs4231_lib.c	Tue Oct  1 17:06:28 2002
@@ -74,9 +74,9 @@
 };
 
 static snd_pcm_hw_constraint_list_t hw_constraints_rates = {
-	count: 14,
-	list: rates,
-	mask: 0,
+	.count = 14,
+	.list = rates,
+	.mask = 0,
 };
 
 static int snd_cs4231_xrate(snd_pcm_runtime_t *runtime)
@@ -795,14 +795,14 @@
 
 static struct _snd_timer_hardware snd_cs4231_timer_table =
 {
-	flags:		SNDRV_TIMER_HW_AUTO,
-	resolution:	9945,
-	ticks:		65535,
-	open:		snd_cs4231_timer_open,
-	close:		snd_cs4231_timer_close,
-	c_resolution:	snd_cs4231_timer_resolution,
-	start:		snd_cs4231_timer_start,
-	stop:		snd_cs4231_timer_stop,
+	.flags =	SNDRV_TIMER_HW_AUTO,
+	.resolution =	9945,
+	.ticks =	65535,
+	.open =		snd_cs4231_timer_open,
+	.close =	snd_cs4231_timer_close,
+	.c_resolution = snd_cs4231_timer_resolution,
+	.start =	snd_cs4231_timer_start,
+	.stop =		snd_cs4231_timer_stop,
 };
 
 /*
@@ -1127,40 +1127,40 @@
 
 static snd_pcm_hardware_t snd_cs4231_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_SYNC_START),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5510,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5510,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_cs4231_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_SYNC_START),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5510,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5510,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 /*
@@ -1395,8 +1395,8 @@
 		      cs4231_t ** rchip)
 {
 	static snd_device_ops_t ops = {
-		dev_free:       snd_cs4231_dev_free,
-	};                                
+		.dev_free =	snd_cs4231_dev_free,
+	};
 	cs4231_t *chip;
 	int err;
 
@@ -1481,25 +1481,25 @@
 }
 
 static snd_pcm_ops_t snd_cs4231_playback_ops = {
-	open:		snd_cs4231_playback_open,
-	close:		snd_cs4231_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_cs4231_playback_hw_params,
-	hw_free:	snd_cs4231_playback_hw_free,
-	prepare:	snd_cs4231_playback_prepare,
-	trigger:	snd_cs4231_trigger,
-	pointer:	snd_cs4231_playback_pointer,
+	.open =		snd_cs4231_playback_open,
+	.close =	snd_cs4231_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_cs4231_playback_hw_params,
+	.hw_free =	snd_cs4231_playback_hw_free,
+	.prepare =	snd_cs4231_playback_prepare,
+	.trigger =	snd_cs4231_trigger,
+	.pointer =	snd_cs4231_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_cs4231_capture_ops = {
-	open:		snd_cs4231_capture_open,
-	close:		snd_cs4231_capture_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_cs4231_capture_hw_params,
-	hw_free:	snd_cs4231_capture_hw_free,
-	prepare:	snd_cs4231_capture_prepare,
-	trigger:	snd_cs4231_trigger,
-	pointer:	snd_cs4231_capture_pointer,
+	.open =		snd_cs4231_capture_open,
+	.close =	snd_cs4231_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_cs4231_capture_hw_params,
+	.hw_free =	snd_cs4231_capture_hw_free,
+	.prepare =	snd_cs4231_capture_prepare,
+	.trigger =	snd_cs4231_trigger,
+	.pointer =	snd_cs4231_capture_pointer,
 };
 
 static void snd_cs4231_pcm_free(snd_pcm_t *pcm)
@@ -1773,11 +1773,11 @@
 CS4231_SINGLE("Mono Output Playback Bypass", 0, CS4231_MONO_CTRL, 5, 1, 0),
 CS4231_DOUBLE("Capture Volume", 0, CS4231_LEFT_INPUT, CS4231_RIGHT_INPUT, 0, 0, 15, 0),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_cs4231_info_mux,
-	get: snd_cs4231_get_mux,
-	put: snd_cs4231_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_cs4231_info_mux,
+	.get = snd_cs4231_get_mux,
+	.put = snd_cs4231_put_mux,
 },
 CS4231_DOUBLE("Mic Boost", 0, CS4231_LEFT_INPUT, CS4231_RIGHT_INPUT, 5, 5, 1, 0),
 CS4231_SINGLE("Loopback Capture Switch", 0, CS4231_LOOPBACK, 0, 1, 0),
diff -Nru a/sound/isa/cs423x/cs4236_lib.c b/sound/isa/cs423x/cs4236_lib.c
--- a/sound/isa/cs423x/cs4236_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/cs423x/cs4236_lib.c	Tue Oct  1 17:06:28 2002
@@ -143,19 +143,19 @@
 #define CLOCKS 8
 
 static ratnum_t clocks[CLOCKS] = {
-	{ num: 16934400, den_min: 353, den_max: 353, den_step: 1 },
-	{ num: 16934400, den_min: 529, den_max: 529, den_step: 1 },
-	{ num: 16934400, den_min: 617, den_max: 617, den_step: 1 },
-	{ num: 16934400, den_min: 1058, den_max: 1058, den_step: 1 },
-	{ num: 16934400, den_min: 1764, den_max: 1764, den_step: 1 },
-	{ num: 16934400, den_min: 2117, den_max: 2117, den_step: 1 },
-	{ num: 16934400, den_min: 2558, den_max: 2558, den_step: 1 },
-	{ num: 16934400/16, den_min: 21, den_max: 192, den_step: 1 }
+	{ .num = 16934400, .den_min = 353, .den_max = 353, .den_step = 1 },
+	{ .num = 16934400, .den_min = 529, .den_max = 529, .den_step = 1 },
+	{ .num = 16934400, .den_min = 617, .den_max = 617, .den_step = 1 },
+	{ .num = 16934400, .den_min = 1058, .den_max = 1058, .den_step = 1 },
+	{ .num = 16934400, .den_min = 1764, .den_max = 1764, .den_step = 1 },
+	{ .num = 16934400, .den_min = 2117, .den_max = 2117, .den_step = 1 },
+	{ .num = 16934400, .den_min = 2558, .den_max = 2558, .den_step = 1 },
+	{ .num = 16934400/16, .den_min = 21, .den_max = 192, .den_step = 1 }
 };
 
 static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks = {
-	nrats: CLOCKS,
-	rats: clocks,
+	.nrats = CLOCKS,
+	.rats = clocks,
 };
 
 static int snd_cs4236_xrate(snd_pcm_runtime_t *runtime)
@@ -366,9 +366,9 @@
  */
 
 #define CS4236_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_single, \
-  get: snd_cs4236_get_single, put: snd_cs4236_put_single, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_single, \
+  .get = snd_cs4236_get_single, put: snd_cs4236_put_single, \
   private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_cs4236_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -423,9 +423,9 @@
 }
 
 #define CS4236_SINGLEC(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_single, \
-  get: snd_cs4236_get_singlec, put: snd_cs4236_put_singlec, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_single, \
+  .get = snd_cs4236_get_singlec, put: snd_cs4236_put_singlec, \
   private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_cs4236_get_singlec(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol)
@@ -469,9 +469,9 @@
 }
 
 #define CS4236_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_double, \
-  get: snd_cs4236_get_double, put: snd_cs4236_put_double, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_double, \
+  .get = snd_cs4236_get_double, put: snd_cs4236_put_double, \
   private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 static int snd_cs4236_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -545,9 +545,9 @@
 }
 
 #define CS4236_DOUBLE1(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_double, \
-  get: snd_cs4236_get_double1, put: snd_cs4236_put_double1, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_double, \
+  .get = snd_cs4236_get_double1, put: snd_cs4236_put_double1, \
   private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 static int snd_cs4236_get_double1(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol)
@@ -604,9 +604,9 @@
 }
 
 #define CS4236_MASTER_DIGITAL(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_double, \
-  get: snd_cs4236_get_master_digital, put: snd_cs4236_put_master_digital, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_double, \
+  .get = snd_cs4236_get_master_digital, put: snd_cs4236_put_master_digital, \
   private_value: 71 << 24 }
 
 static inline int snd_cs4236_mixer_master_digital_invert_volume(int vol)
@@ -646,9 +646,9 @@
 }
 
 #define CS4235_OUTPUT_ACCU(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_double, \
-  get: snd_cs4235_get_output_accu, put: snd_cs4235_put_output_accu, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_double, \
+  .get = snd_cs4235_get_output_accu, put: snd_cs4235_put_output_accu, \
   private_value: 3 << 24 }
 
 static inline int snd_cs4235_mixer_output_accu_get_volume(int vol)
@@ -807,9 +807,9 @@
 };
 
 #define CS4236_IEC958_ENABLE(xname, xindex) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_cs4236_info_single, \
-  get: snd_cs4236_get_iec958_switch, put: snd_cs4236_put_iec958_switch, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_cs4236_info_single, \
+  .get = snd_cs4236_get_iec958_switch, put: snd_cs4236_put_iec958_switch, \
   private_value: 1 << 16 }
 
 static int snd_cs4236_get_iec958_switch(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol)
diff -Nru a/sound/isa/dt019x.c b/sound/isa/dt019x.c
--- a/sound/isa/dt019x.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/dt019x.c	Tue Oct  1 17:06:28 2002
@@ -104,7 +104,7 @@
 	/* DT197A30 */
 	{
 		ISAPNP_CARD_ID('R','W','B',0x1688),
-		devs: { ISAPNP_DEVICE_ID('@','@','@',0x0001),
+		.devs = { ISAPNP_DEVICE_ID('@','@','@',0x0001),
 			ISAPNP_DEVICE_ID('@','X','@',0x0001),
 			ISAPNP_DEVICE_ID('@','H','@',0x0001) }
 	},
diff -Nru a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
--- a/sound/isa/es1688/es1688_lib.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/es1688/es1688_lib.c	Tue Oct  1 17:06:28 2002
@@ -286,22 +286,22 @@
 
 static ratnum_t clocks[2] = {
 	{
-		num: 795444,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 795444,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	},
 	{
-		num: 397722,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 397722,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	}
 };
 
 static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks  = {
-	nrats: 2,
-	rats: clocks,
+	.nrats = 2,
+	.rats = clocks,
 };
 
 static void snd_es1688_set_rate(es1688_t *chip, snd_pcm_substream_t *substream)
@@ -520,38 +520,38 @@
 
 static snd_pcm_hardware_t snd_es1688_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_es1688_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 /*
@@ -642,7 +642,7 @@
 		      es1688_t **rchip)
 {
 	static snd_device_ops_t ops = {
-		dev_free:	snd_es1688_dev_free,
+		.dev_free =	snd_es1688_dev_free,
 	};
                                 
 	es1688_t *chip;
@@ -701,25 +701,25 @@
 }
 
 static snd_pcm_ops_t snd_es1688_playback_ops = {
-	open:			snd_es1688_playback_open,
-	close:			snd_es1688_playback_close,
-	ioctl:			snd_es1688_ioctl,
-	hw_params:		snd_es1688_hw_params,
-	hw_free:		snd_es1688_hw_free,
-	prepare:		snd_es1688_playback_prepare,
-	trigger:		snd_es1688_playback_trigger,
-	pointer:		snd_es1688_playback_pointer,
+	.open =			snd_es1688_playback_open,
+	.close =		snd_es1688_playback_close,
+	.ioctl =		snd_es1688_ioctl,
+	.hw_params =		snd_es1688_hw_params,
+	.hw_free =		snd_es1688_hw_free,
+	.prepare =		snd_es1688_playback_prepare,
+	.trigger =		snd_es1688_playback_trigger,
+	.pointer =		snd_es1688_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_es1688_capture_ops = {
-	open:			snd_es1688_capture_open,
-	close:			snd_es1688_capture_close,
-	ioctl:			snd_es1688_ioctl,
-	hw_params:		snd_es1688_hw_params,
-	hw_free:		snd_es1688_hw_free,
-	prepare:		snd_es1688_capture_prepare,
-	trigger:		snd_es1688_capture_trigger,
-	pointer:		snd_es1688_capture_pointer,
+	.open =			snd_es1688_capture_open,
+	.close =		snd_es1688_capture_close,
+	.ioctl =		snd_es1688_ioctl,
+	.hw_params =		snd_es1688_hw_params,
+	.hw_free =		snd_es1688_hw_free,
+	.prepare =		snd_es1688_capture_prepare,
+	.trigger =		snd_es1688_capture_trigger,
+	.pointer =		snd_es1688_capture_pointer,
 };
 
 static void snd_es1688_pcm_free(snd_pcm_t *pcm)
@@ -800,9 +800,9 @@
 }
 
 #define ES1688_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_es1688_info_single, \
-  get: snd_es1688_get_single, put: snd_es1688_put_single, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_es1688_info_single, \
+  .get = snd_es1688_get_single, put: snd_es1688_put_single, \
   private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_es1688_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -859,9 +859,9 @@
 }
 
 #define ES1688_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_es1688_info_double, \
-  get: snd_es1688_get_double, put: snd_es1688_put_double, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_es1688_info_double, \
+  .get = snd_es1688_get_double, put: snd_es1688_put_double, \
   private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 static int snd_es1688_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -986,11 +986,11 @@
 ES1688_DOUBLE("Capture Volume", 0, ES1688_RECLEV_DEV, ES1688_RECLEV_DEV, 4, 0, 15, 0),
 ES1688_SINGLE("Capture Switch", 0, ES1688_REC_DEV, 4, 1, 1),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_es1688_info_mux,
-	get: snd_es1688_get_mux,
-	put: snd_es1688_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_es1688_info_mux,
+	.get = snd_es1688_get_mux,
+	.put = snd_es1688_put_mux,
 },
 };
 
diff -Nru a/sound/isa/es18xx.c b/sound/isa/es18xx.c
--- a/sound/isa/es18xx.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/es18xx.c	Tue Oct  1 17:06:28 2002
@@ -363,42 +363,42 @@
 
 static ratnum_t new_clocks[2] = {
 	{
-		num: 793800,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 793800,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	},
 	{
-		num: 768000,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 768000,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	}
 };
 
 static snd_pcm_hw_constraint_ratnums_t new_hw_constraints_clocks = {
-	nrats: 2,
-	rats: new_clocks,
+	.nrats = 2,
+	.rats = new_clocks,
 };
 
 static ratnum_t old_clocks[2] = {
 	{
-		num: 795444,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 795444,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	},
 	{
-		num: 397722,
-		den_min: 1,
-		den_max: 128,
-		den_step: 1,
+		.num = 397722,
+		.den_min = 1,
+		.den_max = 128,
+		.den_step = 1,
 	}
 };
 
 static snd_pcm_hw_constraint_ratnums_t old_hw_constraints_clocks  = {
-	nrats: 2,
-	rats: old_clocks,
+	.nrats = 2,
+	.rats = old_clocks,
 };
 
 
@@ -826,40 +826,40 @@
 
 static snd_pcm_hardware_t snd_es18xx_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S8 | 
+	.formats =		(SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S8 | 
 				 SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE),
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_es18xx_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		(SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S8 | 
+	.formats =		(SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S8 | 
 				 SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE),
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static int snd_es18xx_playback_open(snd_pcm_substream_t * substream)
@@ -1067,10 +1067,10 @@
 }
 
 #define ES18XX_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_es18xx_info_single, \
-  get: snd_es18xx_get_single, put: snd_es18xx_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_es18xx_info_single, \
+  .get = snd_es18xx_get_single, .put = snd_es18xx_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_es18xx_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -1117,10 +1117,10 @@
 }
 
 #define ES18XX_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_es18xx_info_double, \
-  get: snd_es18xx_get_double, put: snd_es18xx_put_double, \
-  private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_es18xx_info_double, \
+  .get = snd_es18xx_get_double, .put = snd_es18xx_put_double, \
+  .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 static int snd_es18xx_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -1207,11 +1207,11 @@
 ES18XX_DOUBLE("Capture Volume", 0, 0xb4, 0xb4, 4, 0, 15, 0),
 ES18XX_SINGLE("Capture Switch", 0, 0x1c, 4, 1, 1),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_es18xx_info_mux,
-	get: snd_es18xx_get_mux,
-	put: snd_es18xx_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_es18xx_info_mux,
+	.get = snd_es18xx_get_mux,
+	.put = snd_es18xx_put_mux,
 }
 };
 
@@ -1240,11 +1240,11 @@
 static snd_kcontrol_new_t snd_es18xx_spatializer_controls[] = {
 ES18XX_SINGLE("3D Control - Level", 0, 0x52, 0, 63, 0),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "3D Control - Switch",
-	info: snd_es18xx_info_spatializer_enable,
-	get: snd_es18xx_get_spatializer_enable,
-	put: snd_es18xx_put_spatializer_enable,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "3D Control - Switch",
+	.info = snd_es18xx_info_spatializer_enable,
+	.get = snd_es18xx_get_spatializer_enable,
+	.put = snd_es18xx_put_spatializer_enable,
 }
 };
 
@@ -1256,18 +1256,18 @@
 
 static snd_kcontrol_new_t snd_es18xx_hw_volume_controls[] = {
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Hardware Master Playback Volume",
-	access: SNDRV_CTL_ELEM_ACCESS_READ,
-	info: snd_es18xx_info_hw_volume,
-	get: snd_es18xx_get_hw_volume,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Hardware Master Playback Volume",
+	.access = SNDRV_CTL_ELEM_ACCESS_READ,
+	.info = snd_es18xx_info_hw_volume,
+	.get = snd_es18xx_get_hw_volume,
 },
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Hardware Master Playback Switch",
-	access: SNDRV_CTL_ELEM_ACCESS_READ,
-	info: snd_es18xx_info_hw_switch,
-	get: snd_es18xx_get_hw_switch,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Hardware Master Playback Switch",
+	.access = SNDRV_CTL_ELEM_ACCESS_READ,
+	.info = snd_es18xx_info_hw_switch,
+	.get = snd_es18xx_get_hw_switch,
 },
 ES18XX_SINGLE("Hardware Master Volume Split", 0, 0x64, 7, 1, 0),
 };
@@ -1548,23 +1548,23 @@
 }
 
 static snd_pcm_ops_t snd_es18xx_playback_ops = {
-	open:		snd_es18xx_playback_open,
-	close:		snd_es18xx_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_es18xx_playback_hw_params,
-	prepare:	snd_es18xx_playback_prepare,
-	trigger:	snd_es18xx_playback_trigger,
-	pointer:	snd_es18xx_playback_pointer,
+	.open =		snd_es18xx_playback_open,
+	.close =	snd_es18xx_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_es18xx_playback_hw_params,
+	.prepare =	snd_es18xx_playback_prepare,
+	.trigger =	snd_es18xx_playback_trigger,
+	.pointer =	snd_es18xx_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_es18xx_capture_ops = {
-	open:		snd_es18xx_capture_open,
-	close:		snd_es18xx_capture_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_es18xx_capture_hw_params,
-	prepare:	snd_es18xx_capture_prepare,
-	trigger:	snd_es18xx_capture_trigger,
-	pointer:	snd_es18xx_capture_pointer,
+	.open =		snd_es18xx_capture_open,
+	.close =	snd_es18xx_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_es18xx_capture_hw_params,
+	.prepare =	snd_es18xx_capture_prepare,
+	.trigger =	snd_es18xx_capture_trigger,
+	.pointer =	snd_es18xx_capture_pointer,
 };
 
 static void snd_es18xx_pcm_free(snd_pcm_t *pcm)
@@ -1732,7 +1732,7 @@
 {
         es18xx_t *chip;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_es18xx_dev_free,
+		.dev_free =	snd_es18xx_dev_free,
         };
 	int err;
 
diff -Nru a/sound/isa/gus/gus_main.c b/sound/isa/gus/gus_main.c
--- a/sound/isa/gus/gus_main.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_main.c	Tue Oct  1 17:06:28 2002
@@ -93,11 +93,11 @@
 }
 
 static snd_kcontrol_new_t snd_gus_joystick_control = {
-	iface: SNDRV_CTL_ELEM_IFACE_CARD,
-	name: "Joystick Speed",
-	info: snd_gus_joystick_info,
-	get: snd_gus_joystick_get,
-	put: snd_gus_joystick_put
+	.iface = SNDRV_CTL_ELEM_IFACE_CARD,
+	.name = "Joystick Speed",
+	.info = snd_gus_joystick_info,
+	.get = snd_gus_joystick_get,
+	.put = snd_gus_joystick_put
 };
 
 static void snd_gus_init_control(snd_gus_card_t *gus)
@@ -163,7 +163,7 @@
 	snd_gus_card_t *gus;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_gus_dev_free,
+		.dev_free =	snd_gus_dev_free,
 	};
 
 	*rgus = NULL;
diff -Nru a/sound/isa/gus/gus_mem_proc.c b/sound/isa/gus/gus_mem_proc.c
--- a/sound/isa/gus/gus_mem_proc.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_mem_proc.c	Tue Oct  1 17:06:28 2002
@@ -85,8 +85,8 @@
 }
 
 static struct snd_info_entry_ops snd_gf1_mem_proc_ops = {
-	read: snd_gf1_mem_proc_dump,
-	llseek: snd_gf1_mem_proc_llseek,
+	.read = snd_gf1_mem_proc_dump,
+	.llseek = snd_gf1_mem_proc_llseek,
 };
 
 int snd_gf1_mem_proc_init(snd_gus_card_t * gus)
diff -Nru a/sound/isa/gus/gus_mixer.c b/sound/isa/gus/gus_mixer.c
--- a/sound/isa/gus/gus_mixer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_mixer.c	Tue Oct  1 17:06:28 2002
@@ -33,9 +33,9 @@
  */
 
 #define GF1_SINGLE(xname, xindex, shift, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_gf1_info_single, \
-  get: snd_gf1_get_single, put: snd_gf1_put_single, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_gf1_info_single, \
+  .get = snd_gf1_get_single, put: snd_gf1_put_single, \
   private_value: shift | (invert << 8) }
 
 static int snd_gf1_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -83,9 +83,9 @@
 }
 
 #define ICS_DOUBLE(xname, xindex, addr) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_ics_info_double, \
-  get: snd_ics_get_double, put: snd_ics_put_double, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
+  .info = snd_ics_info_double, \
+  .get = snd_ics_get_double, put: snd_ics_put_double, \
   private_value: addr }
 
 static int snd_ics_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
diff -Nru a/sound/isa/gus/gus_pcm.c b/sound/isa/gus/gus_pcm.c
--- a/sound/isa/gus/gus_pcm.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_pcm.c	Tue Oct  1 17:06:28 2002
@@ -530,15 +530,15 @@
 }
 
 static ratnum_t clock = {
-	num: 9878400/16,
-	den_min: 2,
-	den_max: 257,
-	den_step: 1,
+	.num = 9878400/16,
+	.den_min = 2,
+	.den_max = 257,
+	.den_step = 1,
 };
 
 static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks  = {
-	nrats: 1,
-	rats: &clock,
+	.nrats = 1,
+	.rats = &clock,
 };
 
 static int snd_gf1_pcm_capture_hw_params(snd_pcm_substream_t * substream,
@@ -619,38 +619,38 @@
 
 static snd_pcm_hardware_t snd_gf1_pcm_playback =
 {
-	info:			SNDRV_PCM_INFO_NONINTERLEAVED,
+	.info =			SNDRV_PCM_INFO_NONINTERLEAVED,
 	formats:		(SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8 |
 				 SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE),
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5510,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5510,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_gf1_pcm_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
-	rate_min:		5510,
-	rate_max:		44100,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
+	.rate_min =		5510,
+	.rate_max =		44100,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static void snd_gf1_pcm_playback_free(snd_pcm_runtime_t *runtime)
@@ -805,35 +805,35 @@
 
 static snd_kcontrol_new_t snd_gf1_pcm_volume_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "PCM Playback Volume",
-	info: snd_gf1_pcm_volume_info,
-	get: snd_gf1_pcm_volume_get,
-	put: snd_gf1_pcm_volume_put
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "PCM Playback Volume",
+	.info = snd_gf1_pcm_volume_info,
+	.get = snd_gf1_pcm_volume_get,
+	.put = snd_gf1_pcm_volume_put
 };
 
 static snd_pcm_ops_t snd_gf1_pcm_playback_ops = {
-	open:		snd_gf1_pcm_playback_open,
-	close:		snd_gf1_pcm_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_gf1_pcm_playback_hw_params,
-	hw_free:	snd_gf1_pcm_playback_hw_free,
-	prepare:	snd_gf1_pcm_playback_prepare,
-	trigger:	snd_gf1_pcm_playback_trigger,
-	pointer:	snd_gf1_pcm_playback_pointer,
-	copy:		snd_gf1_pcm_playback_copy,
-	silence:	snd_gf1_pcm_playback_silence,
+	.open =		snd_gf1_pcm_playback_open,
+	.close =	snd_gf1_pcm_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_gf1_pcm_playback_hw_params,
+	.hw_free =	snd_gf1_pcm_playback_hw_free,
+	.prepare =	snd_gf1_pcm_playback_prepare,
+	.trigger =	snd_gf1_pcm_playback_trigger,
+	.pointer =	snd_gf1_pcm_playback_pointer,
+	.copy =		snd_gf1_pcm_playback_copy,
+	.silence =	snd_gf1_pcm_playback_silence,
 };
 
 static snd_pcm_ops_t snd_gf1_pcm_capture_ops = {
-	open:		snd_gf1_pcm_capture_open,
-	close:		snd_gf1_pcm_capture_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_gf1_pcm_capture_hw_params,
-	hw_free:	snd_gf1_pcm_capture_hw_free,
-	prepare:	snd_gf1_pcm_capture_prepare,
-	trigger:	snd_gf1_pcm_capture_trigger,
-	pointer:	snd_gf1_pcm_capture_pointer,
+	.open =		snd_gf1_pcm_capture_open,
+	.close =	snd_gf1_pcm_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_gf1_pcm_capture_hw_params,
+	.hw_free =	snd_gf1_pcm_capture_hw_free,
+	.prepare =	snd_gf1_pcm_capture_prepare,
+	.trigger =	snd_gf1_pcm_capture_trigger,
+	.pointer =	snd_gf1_pcm_capture_pointer,
 };
 
 int snd_gf1_pcm_new(snd_gus_card_t * gus, int pcm_dev, int control_index, snd_pcm_t ** rpcm)
diff -Nru a/sound/isa/gus/gus_timer.c b/sound/isa/gus/gus_timer.c
--- a/sound/isa/gus/gus_timer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_timer.c	Tue Oct  1 17:06:28 2002
@@ -128,20 +128,20 @@
 
 static struct _snd_timer_hardware snd_gf1_timer1 =
 {
-	flags:          SNDRV_TIMER_HW_STOP,
-	resolution:     80000,
-	ticks:          256,
-	start:          snd_gf1_timer1_start,
-	stop:           snd_gf1_timer1_stop,
+	.flags =	SNDRV_TIMER_HW_STOP,
+	.resolution =	80000,
+	.ticks =	256,
+	.start =	snd_gf1_timer1_start,
+	.stop =		snd_gf1_timer1_stop,
 };
 
 static struct _snd_timer_hardware snd_gf1_timer2 =
 {
-	flags:          SNDRV_TIMER_HW_STOP,
-	resolution:     320000,
-	ticks:          256,
-	start:          snd_gf1_timer2_start,
-	stop:           snd_gf1_timer2_stop,
+	.flags =	SNDRV_TIMER_HW_STOP,
+	.resolution =	320000,
+	.ticks =	256,
+	.start =	snd_gf1_timer2_start,
+	.stop =		snd_gf1_timer2_stop,
 };
 
 static void snd_gf1_timer1_free(snd_timer_t *timer)
diff -Nru a/sound/isa/gus/gus_uart.c b/sound/isa/gus/gus_uart.c
--- a/sound/isa/gus/gus_uart.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/gus_uart.c	Tue Oct  1 17:06:28 2002
@@ -226,16 +226,16 @@
 
 static snd_rawmidi_ops_t snd_gf1_uart_output =
 {
-	open:		snd_gf1_uart_output_open,
-	close:		snd_gf1_uart_output_close,
-	trigger:	snd_gf1_uart_output_trigger,
+	.open =		snd_gf1_uart_output_open,
+	.close =	snd_gf1_uart_output_close,
+	.trigger =	snd_gf1_uart_output_trigger,
 };
 
 static snd_rawmidi_ops_t snd_gf1_uart_input =
 {
-	open:           snd_gf1_uart_input_open,
-	close:          snd_gf1_uart_input_close,
-	trigger:        snd_gf1_uart_input_trigger,
+	.open =		snd_gf1_uart_input_open,
+	.close =	snd_gf1_uart_input_close,
+	.trigger =	snd_gf1_uart_input_trigger,
 };
 
 int snd_gf1_rawmidi_new(snd_gus_card_t * gus, int device, snd_rawmidi_t ** rrawmidi)
diff -Nru a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
--- a/sound/isa/gus/interwave.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/gus/interwave.c	Tue Oct  1 17:06:28 2002
@@ -221,9 +221,9 @@
 }
 
 static snd_i2c_bit_ops_t snd_interwave_i2c_bit_ops = {
-	setlines: snd_interwave_i2c_setlines,
-	getclock: snd_interwave_i2c_getclockline,
-	getdata:  snd_interwave_i2c_getdataline,
+	.setlines = snd_interwave_i2c_setlines,
+	.getclock = snd_interwave_i2c_getclockline,
+	.getdata  = snd_interwave_i2c_getdataline,
 };
 
 static int __init snd_interwave_detect_stb(struct snd_interwave *iwcard,
diff -Nru a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
--- a/sound/isa/opl3sa2.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/opl3sa2.c	Tue Oct  1 17:06:28 2002
@@ -339,10 +339,10 @@
 }
 
 #define OPL3SA2_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_opl3sa2_info_single, \
-  get: snd_opl3sa2_get_single, put: snd_opl3sa2_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_opl3sa2_info_single, \
+  .get = snd_opl3sa2_get_single, .put = snd_opl3sa2_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_opl3sa2_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -397,10 +397,10 @@
 }
 
 #define OPL3SA2_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_opl3sa2_info_double, \
-  get: snd_opl3sa2_get_double, put: snd_opl3sa2_put_double, \
-  private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_opl3sa2_info_double, \
+  .get = snd_opl3sa2_get_double, .put = snd_opl3sa2_put_double, \
+  .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 int snd_opl3sa2_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -725,7 +725,7 @@
 	cs4231_t *cs4231;
 	opl3_t *opl3;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_opl3sa2_dev_free,
+		.dev_free =	snd_opl3sa2_dev_free,
 	};
 	int err;
 
diff -Nru a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
--- a/sound/isa/opti9xx/opti92x-ad1848.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/opti9xx/opti92x-ad1848.c	Tue Oct  1 17:06:28 2002
@@ -289,7 +289,7 @@
 #define ISAPNP_OPTI9XX(_va, _vb, _vc, _device, _fa, _fb, _fc, _audio, _mpu401) \
 	{ \
 		ISAPNP_CARD_ID(_va, _vb, _vc, _device), \
-		devs: { ISAPNP_DEVICE_ID(_fa, _fb, _fc, _audio), \
+		.devs = { ISAPNP_DEVICE_ID(_fa, _fb, _fc, _audio), \
 			ISAPNP_DEVICE_ID(_fa, _fb, _fc, _mpu401), } \
 	}
 
@@ -821,9 +821,9 @@
 #define RATES sizeof(rates) / sizeof(rates[0])
 
 static snd_pcm_hw_constraint_list_t hw_constraints_rates = {
-	count: RATES,
-	list: rates,
-	mask: 0,
+	.count = RATES,
+	.list = rates,
+	.mask = 0,
 };
 
 unsigned char bits[] = {  0x01,  0x0f,  0x00,  0x0e,  0x03,  0x02,  0x05,
@@ -1135,39 +1135,39 @@
 
 
 static snd_pcm_hardware_t snd_opti93x_playback = {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_SYNC_START),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5512,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5512,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_opti93x_capture = {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_SYNC_START),
-	formats:		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
+	.formats =		(SNDRV_PCM_FMTBIT_MU_LAW | SNDRV_PCM_FMTBIT_A_LAW | SNDRV_PCM_FMTBIT_IMA_ADPCM |
 				 SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE),
-	rates:			SNDRV_PCM_RATE_8000_48000,
-	rate_min:		5512,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rates =		SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		5512,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static int snd_opti93x_playback_open(snd_pcm_substream_t *substream)
@@ -1289,7 +1289,7 @@
 		       opti93x_t **rcodec)
 {
 	static snd_device_ops_t ops = {
-		dev_free:	snd_opti93x_dev_free,
+		.dev_free =	snd_opti93x_dev_free,
 	};
 	int error;
 	opti93x_t *codec;
@@ -1348,25 +1348,25 @@
 }
 
 static snd_pcm_ops_t snd_opti93x_playback_ops = {
-	open:		snd_opti93x_playback_open,
-	close:		snd_opti93x_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_opti93x_hw_params,
-	hw_free:	snd_opti93x_hw_free,
-	prepare:	snd_opti93x_playback_prepare,
-	trigger:	snd_opti93x_playback_trigger,
-	pointer:	snd_opti93x_playback_pointer,
+	.open =		snd_opti93x_playback_open,
+	.close =	snd_opti93x_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_opti93x_hw_params,
+	.hw_free =	snd_opti93x_hw_free,
+	.prepare =	snd_opti93x_playback_prepare,
+	.trigger =	snd_opti93x_playback_trigger,
+	.pointer =	snd_opti93x_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_opti93x_capture_ops = {
-	open:		snd_opti93x_capture_open,
-	close:		snd_opti93x_capture_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_opti93x_hw_params,
-	hw_free:	snd_opti93x_hw_free,
-	prepare:	snd_opti93x_capture_prepare,
-	trigger:	snd_opti93x_capture_trigger,
-	pointer:	snd_opti93x_capture_pointer,
+	.open =		snd_opti93x_capture_open,
+	.close =	snd_opti93x_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_opti93x_hw_params,
+	.hw_free =	snd_opti93x_hw_free,
+	.prepare =	snd_opti93x_capture_prepare,
+	.trigger =	snd_opti93x_capture_trigger,
+	.pointer =	snd_opti93x_capture_pointer,
 };
 
 static void snd_opti93x_pcm_free(snd_pcm_t *pcm)
@@ -1458,10 +1458,10 @@
 #if 0
 
 #define OPTi93X_SINGLE(xname, xindex, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_opti93x_info_single, \
-  get: snd_opti93x_get_single, put: snd_opti93x_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_opti93x_info_single, \
+  .get = snd_opti93x_get_single, .put = snd_opti93x_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_opti93x_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -1517,10 +1517,10 @@
 #endif /* single */
 
 #define OPTi93X_DOUBLE(xname, xindex, left_reg, right_reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, index: xindex, \
-  info: snd_opti93x_info_double, \
-  get: snd_opti93x_get_double, put: snd_opti93x_put_double, \
-  private_value: left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \
+  .info = snd_opti93x_info_double, \
+  .get = snd_opti93x_get_double, .put = snd_opti93x_put_double, \
+  .private_value = left_reg | (right_reg << 8) | (shift_left << 16) | (shift_right << 19) | (mask << 24) | (invert << 22) }
 
 #define OPTi93X_DOUBLE_INVERT_INVERT(xctl) \
 	do { xctl.private_value ^= 22; } while (0)
@@ -1612,11 +1612,11 @@
 OPTi93X_DOUBLE("Aux Playback Volume", 0, OPTi931_AUX_LEFT_INPUT, OPTi931_AUX_RIGHT_INPUT, 1, 1, 15, 1), 
 OPTi93X_DOUBLE("Capture Volume", 0, OPTi93X_MIXOUT_LEFT, OPTi93X_MIXOUT_RIGHT, 0, 0, 15, 0),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_opti93x_info_mux,
-	get: snd_opti93x_get_mux,
-	put: snd_opti93x_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_opti93x_info_mux,
+	.get = snd_opti93x_get_mux,
+	.put = snd_opti93x_put_mux,
 }
 };
                                         
diff -Nru a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c
--- a/sound/isa/sb/emu8000.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/emu8000.c	Tue Oct  1 17:06:28 2002
@@ -866,22 +866,22 @@
 
 static snd_kcontrol_new_t mixer_bass_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Synth Tone Control - Bass",
-	info: mixer_bass_treble_info,
-	get: mixer_bass_treble_get,
-	put: mixer_bass_treble_put,
-	private_value: 0,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Synth Tone Control - Bass",
+	.info = mixer_bass_treble_info,
+	.get = mixer_bass_treble_get,
+	.put = mixer_bass_treble_put,
+	.private_value = 0,
 };
 
 static snd_kcontrol_new_t mixer_treble_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Synth Tone Control - Treble",
-	info: mixer_bass_treble_info,
-	get: mixer_bass_treble_get,
-	put: mixer_bass_treble_put,
-	private_value: 1,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Synth Tone Control - Treble",
+	.info = mixer_bass_treble_info,
+	.get = mixer_bass_treble_get,
+	.put = mixer_bass_treble_put,
+	.private_value = 1,
 };
 
 /*
@@ -933,22 +933,22 @@
 
 static snd_kcontrol_new_t mixer_chorus_mode_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Chorus Mode",
-	info: mixer_chorus_reverb_info,
-	get: mixer_chorus_reverb_get,
-	put: mixer_chorus_reverb_put,
-	private_value: 1,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Chorus Mode",
+	.info = mixer_chorus_reverb_info,
+	.get = mixer_chorus_reverb_get,
+	.put = mixer_chorus_reverb_put,
+	.private_value = 1,
 };
 
 static snd_kcontrol_new_t mixer_reverb_mode_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Reverb Mode",
-	info: mixer_chorus_reverb_info,
-	get: mixer_chorus_reverb_get,
-	put: mixer_chorus_reverb_put,
-	private_value: 0,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Reverb Mode",
+	.info = mixer_chorus_reverb_info,
+	.get = mixer_chorus_reverb_get,
+	.put = mixer_chorus_reverb_put,
+	.private_value = 0,
 };
 
 /*
@@ -995,22 +995,22 @@
 
 static snd_kcontrol_new_t mixer_fm_chorus_depth_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "FM Chorus Depth",
-	info: mixer_fm_depth_info,
-	get: mixer_fm_depth_get,
-	put: mixer_fm_depth_put,
-	private_value: 1,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "FM Chorus Depth",
+	.info = mixer_fm_depth_info,
+	.get = mixer_fm_depth_get,
+	.put = mixer_fm_depth_put,
+	.private_value = 1,
 };
 
 static snd_kcontrol_new_t mixer_fm_reverb_depth_control =
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "FM Reverb Depth",
-	info: mixer_fm_depth_info,
-	get: mixer_fm_depth_get,
-	put: mixer_fm_depth_put,
-	private_value: 0,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "FM Reverb Depth",
+	.info = mixer_fm_depth_info,
+	.get = mixer_fm_depth_get,
+	.put = mixer_fm_depth_put,
+	.private_value = 0,
 };
 
 
@@ -1090,7 +1090,7 @@
 	emu8000_t *hw;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free: snd_emu8000_dev_free,
+		.dev_free = snd_emu8000_dev_free,
 	};
 
 	if (awe_ret)
diff -Nru a/sound/isa/sb/emu8000_callback.c b/sound/isa/sb/emu8000_callback.c
--- a/sound/isa/sb/emu8000_callback.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/emu8000_callback.c	Tue Oct  1 17:06:28 2002
@@ -59,21 +59,21 @@
  * set up operators
  */
 static snd_emux_operators_t emu8000_ops = {
-	owner:		THIS_MODULE,
-	get_voice:	get_voice,
-	prepare:	start_voice,
-	trigger:	trigger_voice,
-	release:	release_voice,
-	update:		update_voice,
-	terminate:	terminate_voice,
-	reset:		reset_voice,
-	sample_new:	snd_emu8000_sample_new,
-	sample_free:	snd_emu8000_sample_free,
-	sample_reset:	snd_emu8000_sample_reset,
-	load_fx:	load_fx,
-	sysex:		sysex,
+	.owner =	THIS_MODULE,
+	.get_voice =	get_voice,
+	.prepare =	start_voice,
+	.trigger =	trigger_voice,
+	.release =	release_voice,
+	.update =	update_voice,
+	.terminate =	terminate_voice,
+	.reset =	reset_voice,
+	.sample_new =	snd_emu8000_sample_new,
+	.sample_free =	snd_emu8000_sample_free,
+	.sample_reset = snd_emu8000_sample_reset,
+	.load_fx =	load_fx,
+	.sysex =	sysex,
 #ifdef CONFIG_SND_SEQUENCER_OSS
-	oss_ioctl:	oss_ioctl,
+	.oss_ioctl =	oss_ioctl,
 #endif
 };
 
diff -Nru a/sound/isa/sb/emu8000_pcm.c b/sound/isa/sb/emu8000_pcm.c
--- a/sound/isa/sb/emu8000_pcm.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/emu8000_pcm.c	Tue Oct  1 17:06:28 2002
@@ -159,22 +159,22 @@
 
 static snd_pcm_hardware_t emu8k_pcm_hw = {
 #ifdef USE_NONINTERLEAVE
-	info:			SNDRV_PCM_INFO_NONINTERLEAVED,
+	.info =			SNDRV_PCM_INFO_NONINTERLEAVED,
 #else
-	info:			SNDRV_PCM_INFO_INTERLEAVED,
+	.info =			SNDRV_PCM_INFO_INTERLEAVED,
 #endif
-	formats:		SNDRV_PCM_FMTBIT_S16_LE,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	1024,
-	period_bytes_max:	(128*1024),
-	periods_min:		2,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		SNDRV_PCM_FMTBIT_S16_LE,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	1024,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		2,
+	.periods_max =		1024,
+	.fifo_size =		0,
 
 };
 
@@ -672,16 +672,16 @@
 
 
 static snd_pcm_ops_t emu8k_pcm_ops = {
-	open:		emu8k_pcm_open,
-	close:		emu8k_pcm_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	emu8k_pcm_hw_params,
-	hw_free:	emu8k_pcm_hw_free,
-	prepare:	emu8k_pcm_prepare,
-	trigger:	emu8k_pcm_trigger,
-	pointer:	emu8k_pcm_pointer,
-	copy:		emu8k_pcm_copy,
-	silence:	emu8k_pcm_silence,
+	.open =		emu8k_pcm_open,
+	.close =	emu8k_pcm_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	emu8k_pcm_hw_params,
+	.hw_free =	emu8k_pcm_hw_free,
+	.prepare =	emu8k_pcm_prepare,
+	.trigger =	emu8k_pcm_trigger,
+	.pointer =	emu8k_pcm_pointer,
+	.copy =		emu8k_pcm_copy,
+	.silence =	emu8k_pcm_silence,
 };
 
 
diff -Nru a/sound/isa/sb/es968.c b/sound/isa/sb/es968.c
--- a/sound/isa/sb/es968.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/es968.c	Tue Oct  1 17:06:28 2002
@@ -82,7 +82,7 @@
 static struct isapnp_card_id snd_es968_pnpids[] __devinitdata = {
         {
                 ISAPNP_CARD_ID('E','S','S',0x0968),
-                devs: { ISAPNP_DEVICE_ID('E','S','S',0x0968), }
+                .devs = { ISAPNP_DEVICE_ID('E','S','S',0x0968), }
         },
         { ISAPNP_CARD_END, }
 };
diff -Nru a/sound/isa/sb/sb16_csp.c b/sound/isa/sb/sb16_csp.c
--- a/sound/isa/sb/sb16_csp.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb16_csp.c	Tue Oct  1 17:06:28 2002
@@ -1010,19 +1010,19 @@
 }
 
 static snd_kcontrol_new_t snd_sb_qsound_switch = {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "3D Control - Switch",
-	info: snd_sb_qsound_switch_info,
-	get: snd_sb_qsound_switch_get,
-	put: snd_sb_qsound_switch_put
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "3D Control - Switch",
+	.info = snd_sb_qsound_switch_info,
+	.get = snd_sb_qsound_switch_get,
+	.put = snd_sb_qsound_switch_put
 };
 
 static snd_kcontrol_new_t snd_sb_qsound_space = {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "3D Control - Space",
-	info: snd_sb_qsound_space_info,
-	get: snd_sb_qsound_space_get,
-	put: snd_sb_qsound_space_put
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "3D Control - Space",
+	.info = snd_sb_qsound_space_info,
+	.get = snd_sb_qsound_space_get,
+	.put = snd_sb_qsound_space_put
 };
 
 static int snd_sb_qsound_build(snd_sb_csp_t * p)
diff -Nru a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c
--- a/sound/isa/sb/sb16_main.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb16_main.c	Tue Oct  1 17:06:28 2002
@@ -466,38 +466,38 @@
 
 static snd_pcm_hardware_t snd_sb16_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		0,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
-	rate_min:		4000,
-	rate_max:		44100,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
+	.rate_min =		4000,
+	.rate_max =		44100,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_sb16_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		0,
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
-	rate_min:		4000,
-	rate_max:		44100,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	(128*1024),
-	period_bytes_min:	64,
-	period_bytes_max:	(128*1024),
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.formats =		0,
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_44100,
+	.rate_min =		4000,
+	.rate_max =		44100,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	(128*1024),
+	.period_bytes_min =	64,
+	.period_bytes_max =	(128*1024),
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 /*
@@ -724,11 +724,11 @@
 }
 
 snd_kcontrol_new_t snd_sb16_dma_control = {
-	iface: SNDRV_CTL_ELEM_IFACE_PCM,
-	name: "16-bit DMA Allocation",
-	info: snd_sb16_dma_control_info,
-	get: snd_sb16_dma_control_get,
-	put: snd_sb16_dma_control_put
+	.iface = SNDRV_CTL_ELEM_IFACE_PCM,
+	.name = "16-bit DMA Allocation",
+	.info = snd_sb16_dma_control_info,
+	.get = snd_sb16_dma_control_get,
+	.put = snd_sb16_dma_control_put
 };
 
 /*
@@ -825,25 +825,25 @@
 }
 
 static snd_pcm_ops_t snd_sb16_playback_ops = {
-	open:			snd_sb16_playback_open,
-	close:			snd_sb16_playback_close,
-	ioctl:			snd_pcm_lib_ioctl,
-	hw_params:		snd_sb16_hw_params,
-	hw_free:		snd_sb16_hw_free,
-	prepare:		snd_sb16_playback_prepare,
-	trigger:		snd_sb16_playback_trigger,
-	pointer:		snd_sb16_playback_pointer,
+	.open =		snd_sb16_playback_open,
+	.close =	snd_sb16_playback_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_sb16_hw_params,
+	.hw_free =	snd_sb16_hw_free,
+	.prepare =	snd_sb16_playback_prepare,
+	.trigger =	snd_sb16_playback_trigger,
+	.pointer =	snd_sb16_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_sb16_capture_ops = {
-	open:			snd_sb16_capture_open,
-	close:			snd_sb16_capture_close,
-	ioctl:			snd_pcm_lib_ioctl,
-	hw_params:		snd_sb16_hw_params,
-	hw_free:		snd_sb16_hw_free,
-	prepare:		snd_sb16_capture_prepare,
-	trigger:		snd_sb16_capture_trigger,
-	pointer:		snd_sb16_capture_pointer,
+	.open =		snd_sb16_capture_open,
+	.close =	snd_sb16_capture_close,
+	.ioctl =	snd_pcm_lib_ioctl,
+	.hw_params =	snd_sb16_hw_params,
+	.hw_free =	snd_sb16_hw_free,
+	.prepare =	snd_sb16_capture_prepare,
+	.trigger =	snd_sb16_capture_trigger,
+	.pointer =	snd_sb16_capture_pointer,
 };
 
 static void snd_sb16dsp_pcm_free(snd_pcm_t *pcm)
diff -Nru a/sound/isa/sb/sb8_main.c b/sound/isa/sb/sb8_main.c
--- a/sound/isa/sb/sb8_main.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb8_main.c	Tue Oct  1 17:06:28 2002
@@ -49,29 +49,29 @@
 #define SB8_RATE(v)	(SB8_CLOCK / SB8_DEN(v))
 
 static ratnum_t clock = {
-	num: SB8_CLOCK,
-	den_min: 1,
-	den_max: 256,
-	den_step: 1,
+	.num = SB8_CLOCK,
+	.den_min = 1,
+	.den_max = 256,
+	.den_step = 1,
 };
 
 static snd_pcm_hw_constraint_ratnums_t hw_constraints_clock = {
-	nrats: 1,
-	rats: &clock,
+	.nrats = 1,
+	.rats = &clock,
 };
 
 static ratnum_t stereo_clocks[] = {
 	{
-		num: SB8_CLOCK,
-		den_min: SB8_DEN(22050),
-		den_max: SB8_DEN(22050),
-		den_step: 1,
+		.num = SB8_CLOCK,
+		.den_min = SB8_DEN(22050),
+		.den_max = SB8_DEN(22050),
+		.den_step = 1,
 	},
 	{
-		num: SB8_CLOCK,
-		den_min: SB8_DEN(11025),
-		den_max: SB8_DEN(11025),
-		den_step: 1,
+		.num = SB8_CLOCK,
+		.den_min = SB8_DEN(11025),
+		.den_max = SB8_DEN(11025),
+		.den_step = 1,
 	}
 };
 
@@ -386,40 +386,40 @@
 
 static snd_pcm_hardware_t snd_sb8_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_U8,
-	rates:			(SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000 |
+	.formats =		 SNDRV_PCM_FMTBIT_U8,
+	.rates =		(SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000 |
 				 SNDRV_PCM_RATE_11025 | SNDRV_PCM_RATE_22050),
-	rate_min:		4000,
-	rate_max:		23000,
-	channels_min:		1,
-	channels_max:		1,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rate_min =		4000,
+	.rate_max =		23000,
+	.channels_min =		1,
+	.channels_max =		1,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 static snd_pcm_hardware_t snd_sb8_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_U8,
-	rates:			(SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000 |
+	.formats =		SNDRV_PCM_FMTBIT_U8,
+	.rates =		(SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000 |
 				 SNDRV_PCM_RATE_11025),
-	rate_min:		4000,
-	rate_max:		13000,
-	channels_min:		1,
-	channels_max:		1,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0,
+	.rate_min =		4000,
+	.rate_max =		13000,
+	.channels_min =		1,
+	.channels_max =		1,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0,
 };
 
 /*
@@ -490,25 +490,25 @@
  */
  
 static snd_pcm_ops_t snd_sb8_playback_ops = {
-	open:			snd_sb8_open,
-	close:			snd_sb8_close,
-	ioctl:			snd_pcm_lib_ioctl,
-	hw_params:		snd_sb8_hw_params,
-	hw_free:		snd_sb8_hw_free,
-	prepare:		snd_sb8_playback_prepare,
-	trigger:		snd_sb8_playback_trigger,
-	pointer:		snd_sb8_playback_pointer,
+	.open =			snd_sb8_open,
+	.close =		snd_sb8_close,
+	.ioctl =		snd_pcm_lib_ioctl,
+	.hw_params =		snd_sb8_hw_params,
+	.hw_free =		snd_sb8_hw_free,
+	.prepare =		snd_sb8_playback_prepare,
+	.trigger =		snd_sb8_playback_trigger,
+	.pointer =		snd_sb8_playback_pointer,
 };
 
 static snd_pcm_ops_t snd_sb8_capture_ops = {
-	open:			snd_sb8_open,
-	close:			snd_sb8_close,
-	ioctl:			snd_pcm_lib_ioctl,
-	hw_params:		snd_sb8_hw_params,
-	hw_free:		snd_sb8_hw_free,
-	prepare:		snd_sb8_capture_prepare,
-	trigger:		snd_sb8_capture_trigger,
-	pointer:		snd_sb8_capture_pointer,
+	.open =			snd_sb8_open,
+	.close =		snd_sb8_close,
+	.ioctl =		snd_pcm_lib_ioctl,
+	.hw_params =		snd_sb8_hw_params,
+	.hw_free =		snd_sb8_hw_free,
+	.prepare =		snd_sb8_capture_prepare,
+	.trigger =		snd_sb8_capture_trigger,
+	.pointer =		snd_sb8_capture_pointer,
 };
 
 static void snd_sb8dsp_pcm_free(snd_pcm_t *pcm)
diff -Nru a/sound/isa/sb/sb8_midi.c b/sound/isa/sb/sb8_midi.c
--- a/sound/isa/sb/sb8_midi.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb8_midi.c	Tue Oct  1 17:06:28 2002
@@ -228,16 +228,16 @@
 
 static snd_rawmidi_ops_t snd_sb8dsp_midi_output =
 {
-	open:           snd_sb8dsp_midi_output_open,
-	close:          snd_sb8dsp_midi_output_close,
-	trigger:	snd_sb8dsp_midi_output_trigger,
+	.open =		snd_sb8dsp_midi_output_open,
+	.close =	snd_sb8dsp_midi_output_close,
+	.trigger =	snd_sb8dsp_midi_output_trigger,
 };
 
 static snd_rawmidi_ops_t snd_sb8dsp_midi_input =
 {
-	open:           snd_sb8dsp_midi_input_open,
-	close:          snd_sb8dsp_midi_input_close,
-	trigger:        snd_sb8dsp_midi_input_trigger,
+	.open =		snd_sb8dsp_midi_input_open,
+	.close =	snd_sb8dsp_midi_input_close,
+	.trigger =	snd_sb8dsp_midi_input_trigger,
 };
 
 int snd_sb8dsp_midi(sb_t *chip, int device, snd_rawmidi_t ** rrawmidi)
diff -Nru a/sound/isa/sb/sb_common.c b/sound/isa/sb/sb_common.c
--- a/sound/isa/sb/sb_common.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb_common.c	Tue Oct  1 17:06:28 2002
@@ -221,7 +221,7 @@
 	sb_t *chip;
 	int err;
 	static snd_device_ops_t ops = {
-		dev_free:       snd_sbdsp_dev_free,
+		.dev_free =	snd_sbdsp_dev_free,
 	};
 
 	snd_assert(r_chip != NULL, return -EINVAL);
diff -Nru a/sound/isa/sb/sb_mixer.c b/sound/isa/sb/sb_mixer.c
--- a/sound/isa/sb/sb_mixer.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/sb/sb_mixer.c	Tue Oct  1 17:06:28 2002
@@ -61,10 +61,10 @@
  */
 
 #define SB_SINGLE(xname, reg, shift, mask) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, \
-  name: xname, \
-  info: snd_sbmixer_info_single, \
-  get: snd_sbmixer_get_single, put: snd_sbmixer_put_single, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
+  .name = xname, \
+  .info = snd_sbmixer_info_single, \
+  .get = snd_sbmixer_get_single, put: snd_sbmixer_put_single, \
   private_value: reg | (shift << 16) | (mask << 24) }
 
 static int snd_sbmixer_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -120,10 +120,10 @@
  */
 
 #define SB_DOUBLE(xname, left_reg, right_reg, left_shift, right_shift, mask) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, \
-  name: xname, \
-  info: snd_sbmixer_info_double, \
-  get: snd_sbmixer_get_double, put: snd_sbmixer_put_double, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
+  .name = xname, \
+  .info = snd_sbmixer_info_double, \
+  .get = snd_sbmixer_get_double, put: snd_sbmixer_put_double, \
   private_value: left_reg | (right_reg << 8) | (left_shift << 16) | (right_shift << 19) | (mask << 24) }
 
 static int snd_sbmixer_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -363,10 +363,10 @@
  */
 
 #define SB16_INPUT_SW(xname, reg1, reg2, left_shift, right_shift) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, \
-  name: xname, \
-  info: snd_sb16mixer_info_input_sw, \
-  get: snd_sb16mixer_get_input_sw, put: snd_sb16mixer_put_input_sw, \
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \
+  .name = xname, \
+  .info = snd_sb16mixer_info_input_sw, \
+  .get = snd_sb16mixer_get_input_sw, put: snd_sb16mixer_put_input_sw, \
   private_value: reg1 | (reg2 << 8) | (left_shift << 16) | (right_shift << 24) }
 
 static int snd_sb16mixer_info_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo)
@@ -455,11 +455,11 @@
 SB_DOUBLE("Line Playback Volume", SB_DSP_LINE_DEV, SB_DSP_LINE_DEV, 5, 1, 7),
 SB_SINGLE("Mic Playback Volume", SB_DSP_MIC_DEV, 1, 3),
 {
-	iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-	name: "Capture Source",
-	info: snd_sb8mixer_info_mux,
-	get: snd_sb8mixer_get_mux,
-	put: snd_sb8mixer_put_mux,
+	.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+	.name = "Capture Source",
+	.info = snd_sb8mixer_info_mux,
+	.get = snd_sb8mixer_get_mux,
+	.put = snd_sb8mixer_put_mux,
 },
 SB_SINGLE("Capture Filter", SB_DSP_CAPTURE_FILT, 5, 1),
 SB_SINGLE("Capture Low-Pass Filter", SB_DSP_CAPTURE_FILT, 3, 1)
diff -Nru a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
--- a/sound/isa/wavefront/wavefront.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/wavefront/wavefront.c	Tue Oct  1 17:06:28 2002
@@ -111,14 +111,14 @@
 static struct isapnp_card_id snd_wavefront_pnpids[] __devinitdata = {
 	{
 		ISAPNP_CARD_ID('C','S','C',0x7532),	/* Tropez */
-		devs: { ISAPNP_DEVICE_ID('C','S','C',0x0000),	/* WSS */
+		.devs = { ISAPNP_DEVICE_ID('C','S','C',0x0000),	/* WSS */
 			ISAPNP_DEVICE_ID('C','S','C',0x0010),	/* CTRL */
 			ISAPNP_DEVICE_ID('P','n','P',0xb006),	/* MPU */
 			ISAPNP_DEVICE_ID('C','S','C',000004), }, /* SYNTH */
 	},
 	{
 		ISAPNP_CARD_ID('C','S','C',0x7632),	/* Tropez+ */
-		devs: { ISAPNP_DEVICE_ID('C','S','C',0x0000),	/* WSS */
+		.devs = { ISAPNP_DEVICE_ID('C','S','C',0x0000),	/* WSS */
 			ISAPNP_DEVICE_ID('C','S','C',0x0010),	/* CTRL */
 			ISAPNP_DEVICE_ID('P','n','P',0xb006),	/* MPU */
 			ISAPNP_DEVICE_ID('C','S','C',000004), }, /* SYNTH */
diff -Nru a/sound/isa/wavefront/wavefront_midi.c b/sound/isa/wavefront/wavefront_midi.c
--- a/sound/isa/wavefront/wavefront_midi.c	Tue Oct  1 17:06:28 2002
+++ b/sound/isa/wavefront/wavefront_midi.c	Tue Oct  1 17:06:28 2002
@@ -559,15 +559,15 @@
 
 snd_rawmidi_ops_t snd_wavefront_midi_output =
 {
-	open:		snd_wavefront_midi_output_open,
-	close:		snd_wavefront_midi_output_close,
-	trigger:	snd_wavefront_midi_output_trigger,
+	.open =		snd_wavefront_midi_output_open,
+	.close =	snd_wavefront_midi_output_close,
+	.trigger =	snd_wavefront_midi_output_trigger,
 };
 
 snd_rawmidi_ops_t snd_wavefront_midi_input =
 {
-	open:		snd_wavefront_midi_input_open,
-	close:		snd_wavefront_midi_input_close,
-	trigger:	snd_wavefront_midi_input_trigger,
+	.open =		snd_wavefront_midi_input_open,
+	.close =	snd_wavefront_midi_input_close,
+	.trigger =	snd_wavefront_midi_input_trigger,
 };
 
diff -Nru a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
--- a/sound/pci/ac97/ac97_codec.c	Tue Oct  1 17:06:28 2002
+++ b/sound/pci/ac97/ac97_codec.c	Tue Oct  1 17:06:28 2002
@@ -70,6 +70,7 @@
 { 0x45838300, 0xffffff00, "ESS Technology",	NULL },
 { 0x48525300, 0xffffff00, "Intersil",		NULL },
 { 0x49434500, 0xffffff00, "ICEnsemble",		NULL },
+{ 0x49544500, 0xffffff00, "ITE Tech.Inc",	NULL },
 { 0x4e534300, 0xffffff00, "National Semiconductor", NULL },
 { 0x53494c00, 0xffffff00, "Silicon Laboratory",	NULL },
 { 0x54524100, 0xffffff00, "TriTech",		NULL },
@@ -116,6 +117,7 @@
 { 0x48525300, 0xffffff00, "HMP9701",		NULL },
 { 0x49434501, 0xffffffff, "ICE1230",		NULL },
 { 0x49434511, 0xffffffff, "ICE1232",		NULL }, // alias VIA VT1611A?
+{ 0x49544520, 0xffffffff, "IT2226E",		NULL },
 { 0x4e534300, 0xffffffff, "LM4540/43/45/46/48",	NULL }, // only guess --jk
 { 0x4e534331, 0xffffffff, "LM4549",		NULL },
 { 0x53494c22, 0xffffffff, "Si3036",		NULL },
@@ -181,6 +183,9 @@
 
 static int snd_ac97_valid_reg(ac97_t *ac97, unsigned short reg)
 {
+	if (ac97->limited_regs && ! test_bit(reg, ac97->reg_accessed))
+  		return 0;
+
 	/* filter some registers for buggy codecs */
 	switch (ac97->id) {
 	case AC97_ID_AK4540:
@@ -242,8 +247,6 @@
 
 static void snd_ac97_write_cache_test(ac97_t *ac97, unsigned short reg, unsigned short value)
 {
-	if (ac97->limited_regs && ! test_bit(reg, ac97->reg_accessed))
-  		return;
 #if 0
 	if (!snd_ac97_valid_reg(ac97, reg))
 		return;
@@ -361,9 +364,9 @@
 }
 
 #define AC97_ENUM_DOUBLE(xname, reg, shift, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ac97_info_enum_double, \
-  get: snd_ac97_get_enum_double, put: snd_ac97_put_enum_double, \
-  private_value: reg | (shift << 8) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_enum_double, \
+  .get = snd_ac97_get_enum_double, .put = snd_ac97_put_enum_double, \
+  .private_value = reg | (shift << 8) | (invert << 24) }
 
 static int snd_ac97_info_enum_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -423,9 +426,9 @@
 }
 
 #define AC97_SINGLE(xname, reg, shift, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ac97_info_single, \
-  get: snd_ac97_get_single, put: snd_ac97_put_single, \
-  private_value: reg | (shift << 8) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \
+  .get = snd_ac97_get_single, .put = snd_ac97_put_single, \
+  .private_value = reg | (shift << 8) | (mask << 16) | (invert << 24) }
 
 static int snd_ac97_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -468,9 +471,9 @@
 }
 
 #define AC97_DOUBLE(xname, reg, shift_left, shift_right, mask, invert) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: (xname), info: snd_ac97_info_double, \
-  get: snd_ac97_get_double, put: snd_ac97_put_double, \
-  private_value: reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), .info = snd_ac97_info_double, \
+  .get = snd_ac97_get_double, .put = snd_ac97_put_double, \
+  .private_value = reg | (shift_left << 8) | (shift_right << 12) | (mask << 16) | (invert << 24) }
 
 static int snd_ac97_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -757,25 +760,25 @@
 
 static const snd_kcontrol_new_t snd_ac97_controls_spdif[5] = {
 	{
-		access: SNDRV_CTL_ELEM_ACCESS_READ,
-		iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-		name: SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),
-		info: snd_ac97_spdif_mask_info,
-		get: snd_ac97_spdif_cmask_get,
+		.access = SNDRV_CTL_ELEM_ACCESS_READ,
+		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,CON_MASK),
+		.info = snd_ac97_spdif_mask_info,
+		.get = snd_ac97_spdif_cmask_get,
 	},
 	{
-		access: SNDRV_CTL_ELEM_ACCESS_READ,
-		iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-		name: SNDRV_CTL_NAME_IEC958("",PLAYBACK,PRO_MASK),
-		info: snd_ac97_spdif_mask_info,
-		get: snd_ac97_spdif_pmask_get,
+		.access = SNDRV_CTL_ELEM_ACCESS_READ,
+		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PRO_MASK),
+		.info = snd_ac97_spdif_mask_info,
+		.get = snd_ac97_spdif_pmask_get,
 	},
 	{
-		iface: SNDRV_CTL_ELEM_IFACE_MIXER,
-		name: SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
-		info: snd_ac97_spdif_mask_info,
-		get: snd_ac97_spdif_default_get,
-		put: snd_ac97_spdif_default_put,
+		.iface = SNDRV_CTL_ELEM_IFACE_MIXER,
+		.name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
+		.info = snd_ac97_spdif_mask_info,
+		.get = snd_ac97_spdif_default_get,
+		.put = snd_ac97_spdif_default_put,
 	},
 
 	AC97_SINGLE(SNDRV_CTL_NAME_IEC958("",PLAYBACK,SWITCH),AC97_EXTENDED_STATUS, 2, 1, 0),
@@ -792,9 +795,9 @@
 };
 
 #define AD18XX_PCM_BITS(xname, codec, shift, mask) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ac97_ad18xx_pcm_info_bits, \
-  get: snd_ac97_ad18xx_pcm_get_bits, put: snd_ac97_ad18xx_pcm_put_bits, \
-  private_value: codec | (shift << 8) | (mask << 16) }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_ad18xx_pcm_info_bits, \
+  .get = snd_ac97_ad18xx_pcm_get_bits, .put = snd_ac97_ad18xx_pcm_put_bits, \
+  .private_value = codec | (shift << 8) | (mask << 16) }
 
 static int snd_ac97_ad18xx_pcm_info_bits(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -831,9 +834,9 @@
 }
 
 #define AD18XX_PCM_VOLUME(xname, codec) \
-{ iface: SNDRV_CTL_ELEM_IFACE_MIXER, name: xname, info: snd_ac97_ad18xx_pcm_info_volume, \
-  get: snd_ac97_ad18xx_pcm_get_volume, put: snd_ac97_ad18xx_pcm_put_volume, \
-  private_value: codec }
+{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_ad18xx_pcm_info_volume, \
+  .get = snd_ac97_ad18xx_pcm_get_volume, .put = snd_ac97_ad18xx_pcm_put_volume, \
+  .private_value = codec }
 
 static int snd_ac97_ad18xx_pcm_info_volume(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo)
 {
@@ -911,7 +914,7 @@
 {
 	unsigned short val, mask = 0x8000;
 
-	if (ac97->limited_regs && ! test_bit(reg, ac97->reg_accessed))
+	if (! snd_ac97_valid_reg(ac97, reg))
 		return 0;
 
 	switch (reg) {
@@ -1452,7 +1455,7 @@
 	char name[64];
 	signed long end_time;
 	static snd_device_ops_t ops = {
-		dev_free:	snd_ac97_dev_free,
+		.dev_free =	snd_ac97_dev_free,
 	};
 
 	snd_assert(rac97 != NULL, return -EINVAL);
@@ -1752,10 +1755,7 @@
 	int reg, val;
 
 	for (reg = 0; reg < 0x80; reg += 2) {
-		if (ac97->limited_regs && ! test_bit(reg, ac97->reg_accessed))
-			val = 0xffff;
-		else
-			val = snd_ac97_read(ac97, reg);
+		val = snd_ac97_read(ac97, reg);
 		snd_iprintf(buffer, "%i:%02x = %04x\n", subidx, reg, val);
 	}
 }
diff -Nru a/sound/pci/als4000.c b/sound/pci/als4000.c
--- a/sound/pci/als4000.c	Tue Oct  1 17:06:28 2002
+++ b/sound/pci/als4000.c	Tue Oct  1 17:06:28 2002
@@ -372,40 +372,40 @@
 
 static snd_pcm_hardware_t snd_als4000_playback =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8 |
+	.formats =		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8 |
 				SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE,	/* formats */
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0
 };
 
 static snd_pcm_hardware_t snd_als4000_capture =
 {
-	info:			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
+	.info =			(SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
 				 SNDRV_PCM_INFO_MMAP_VALID),
-	formats:		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8 |
+	.formats =		SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_U8 |
 				SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_U16_LE,	/* formats */
-	rates:			SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
-	rate_min:		4000,
-	rate_max:		48000,
-	channels_min:		1,
-	channels_max:		2,
-	buffer_bytes_max:	65536,
-	period_bytes_min:	64,
-	period_bytes_max:	65536,
-	periods_min:		1,
-	periods_max:		1024,
-	fifo_size:		0
+	.rates =		SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
+	.rate_min =		4000,
+	.rate_max =		48000,
+	.channels_min =		1,
+	.channels_max =		2,
+	.buffer_bytes_max =	65536,
+	.period_bytes_min =	64,
+	.period_bytes_max =	65536,
+	.periods_min =		1,
+	.periods_max =		1024,
+	.fifo_size =		0
 };
 
 /*****************************************************************/
@@ -451,25 +451,25 @@
 /******************************************************************/
 
 static snd_pcm_ops_t snd_als4000_playback_ops = {
-	open:		snd_als4000_playback_open,
-	close:		snd_als4000_playback_close,
-	ioctl:		snd_pcm_lib_ioctl,
-	hw_params:	snd_als4000_hw_params,
-	hw_free:	snd_als4000_hw_free,
-	prepare:	snd_a