aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/ice1712/amp.c4
-rw-r--r--sound/pci/ice1712/amp.h2
-rw-r--r--sound/pci/ice1712/aureon.c42
-rw-r--r--sound/pci/ice1712/aureon.h2
-rw-r--r--sound/pci/ice1712/delta.c34
-rw-r--r--sound/pci/ice1712/delta.h2
-rw-r--r--sound/pci/ice1712/ews.c24
-rw-r--r--sound/pci/ice1712/ews.h2
-rw-r--r--sound/pci/ice1712/hoontech.c7
-rw-r--r--sound/pci/ice1712/hoontech.h2
-rw-r--r--sound/pci/ice1712/ice1712.c72
-rw-r--r--sound/pci/ice1712/ice1712.h4
-rw-r--r--sound/pci/ice1712/ice1724.c74
-rw-r--r--sound/pci/ice1712/juli.c6
-rw-r--r--sound/pci/ice1712/juli.h2
-rw-r--r--sound/pci/ice1712/phase.c20
-rw-r--r--sound/pci/ice1712/phase.h2
-rw-r--r--sound/pci/ice1712/pontis.c14
-rw-r--r--sound/pci/ice1712/pontis.h2
-rw-r--r--sound/pci/ice1712/prodigy192.c10
-rw-r--r--sound/pci/ice1712/prodigy192.h2
-rw-r--r--sound/pci/ice1712/revo.c22
-rw-r--r--sound/pci/ice1712/revo.h2
-rw-r--r--sound/pci/ice1712/vt1720_mobo.c6
-rw-r--r--sound/pci/ice1712/vt1720_mobo.h2
-rw-r--r--sound/pci/ice1712/wtm.c2
26 files changed, 180 insertions, 183 deletions
diff --git a/sound/pci/ice1712/amp.c b/sound/pci/ice1712/amp.c
index 59c4078ad331..6e22d326df32 100644
--- a/sound/pci/ice1712/amp.c
+++ b/sound/pci/ice1712/amp.c
@@ -42,7 +42,7 @@ static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val)
42 42
43static int __devinit snd_vt1724_amp_init(struct snd_ice1712 *ice) 43static int __devinit snd_vt1724_amp_init(struct snd_ice1712 *ice)
44{ 44{
45 static unsigned short wm_inits[] = { 45 static const unsigned short wm_inits[] = {
46 WM_ATTEN_L, 0x0000, /* 0 db */ 46 WM_ATTEN_L, 0x0000, /* 0 db */
47 WM_ATTEN_R, 0x0000, /* 0 db */ 47 WM_ATTEN_R, 0x0000, /* 0 db */
48 WM_DAC_CTRL, 0x0008, /* 24bit I2S */ 48 WM_DAC_CTRL, 0x0008, /* 24bit I2S */
@@ -75,7 +75,7 @@ static int __devinit snd_vt1724_amp_add_controls(struct snd_ice1712 *ice)
75 75
76 76
77/* entry point */ 77/* entry point */
78struct snd_ice1712_card_info snd_vt1724_amp_cards[] __devinitdata = { 78const struct snd_ice1712_card_info snd_vt1724_amp_cards[] __devinitdata = {
79 { 79 {
80 .subvendor = VT1724_SUBDEVICE_AV710, 80 .subvendor = VT1724_SUBDEVICE_AV710,
81 .name = "Chaintech AV-710", 81 .name = "Chaintech AV-710",
diff --git a/sound/pci/ice1712/amp.h b/sound/pci/ice1712/amp.h
index a0fc89b48122..7b667bad0c6b 100644
--- a/sound/pci/ice1712/amp.h
+++ b/sound/pci/ice1712/amp.h
@@ -42,7 +42,7 @@
42#define WM_DAC_CTRL 0x02 42#define WM_DAC_CTRL 0x02
43#define WM_INT_CTRL 0x03 43#define WM_INT_CTRL 0x03
44 44
45extern struct snd_ice1712_card_info snd_vt1724_amp_cards[]; 45extern const struct snd_ice1712_card_info snd_vt1724_amp_cards[];
46 46
47 47
48#endif /* __SOUND_AMP_H */ 48#endif /* __SOUND_AMP_H */
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c
index 041d2f07572b..625a9a32b7c7 100644
--- a/sound/pci/ice1712/aureon.c
+++ b/sound/pci/ice1712/aureon.c
@@ -294,7 +294,7 @@ static unsigned short aureon_ac97_read(struct snd_ice1712 *ice, unsigned short r
294static int aureon_ac97_init (struct snd_ice1712 *ice) 294static int aureon_ac97_init (struct snd_ice1712 *ice)
295{ 295{
296 int i; 296 int i;
297 static unsigned short ac97_defaults[] = { 297 static const unsigned short ac97_defaults[] = {
298 0x00, 0x9640, 298 0x00, 0x9640,
299 0x02, 0x8000, 299 0x02, 0x8000,
300 0x04, 0x8000, 300 0x04, 0x8000,
@@ -674,7 +674,7 @@ static DECLARE_TLV_DB_SCALE(db_scale_ac97_gain, -3450, 150, 0);
674 * Logarithmic volume values for WM8770 674 * Logarithmic volume values for WM8770
675 * Computed as 20 * Log10(255 / x) 675 * Computed as 20 * Log10(255 / x)
676 */ 676 */
677static unsigned char wm_vol[256] = { 677static const unsigned char wm_vol[256] = {
678 127, 48, 42, 39, 36, 34, 33, 31, 30, 29, 28, 27, 27, 26, 25, 25, 24, 24, 23, 678 127, 48, 42, 39, 36, 34, 33, 31, 30, 29, 28, 27, 27, 26, 25, 25, 24, 24, 23,
679 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 679 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17,
680 17, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 680 17, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13,
@@ -1067,14 +1067,14 @@ static int wm_adc_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val
1067 */ 1067 */
1068static int wm_adc_mux_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) 1068static int wm_adc_mux_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
1069{ 1069{
1070 static char *texts[] = { 1070 static const char * const texts[] = {
1071 "CD", //AIN1 1071 "CD", //AIN1
1072 "Aux", //AIN2 1072 "Aux", //AIN2
1073 "Line", //AIN3 1073 "Line", //AIN3
1074 "Mic", //AIN4 1074 "Mic", //AIN4
1075 "AC97" //AIN5 1075 "AC97" //AIN5
1076 }; 1076 };
1077 static char *universe_texts[] = { 1077 static const char * const universe_texts[] = {
1078 "Aux1", //AIN1 1078 "Aux1", //AIN1
1079 "CD", //AIN2 1079 "CD", //AIN2
1080 "Phono", //AIN3 1080 "Phono", //AIN3
@@ -1140,11 +1140,11 @@ static int wm_adc_mux_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_val
1140static int aureon_cs8415_mux_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) 1140static int aureon_cs8415_mux_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
1141{ 1141{
1142 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); 1142 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1143 static char *aureon_texts[] = { 1143 static const char * const aureon_texts[] = {
1144 "CD", //RXP0 1144 "CD", //RXP0
1145 "Optical" //RXP1 1145 "Optical" //RXP1
1146 }; 1146 };
1147 static char *prodigy_texts[] = { 1147 static const char * const prodigy_texts[] = {
1148 "CD", 1148 "CD",
1149 "Coax" 1149 "Coax"
1150 }; 1150 };
@@ -1368,7 +1368,7 @@ static int aureon_deemp_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_v
1368 */ 1368 */
1369static int aureon_oversampling_info(struct snd_kcontrol *k, struct snd_ctl_elem_info *uinfo) 1369static int aureon_oversampling_info(struct snd_kcontrol *k, struct snd_ctl_elem_info *uinfo)
1370{ 1370{
1371 static char *texts[2] = { "128x", "64x" }; 1371 static const char * const texts[2] = { "128x", "64x" };
1372 1372
1373 uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; 1373 uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
1374 uinfo->count = 1; 1374 uinfo->count = 1;
@@ -1411,7 +1411,7 @@ static int aureon_oversampling_put(struct snd_kcontrol *kcontrol, struct snd_ctl
1411 * mixers 1411 * mixers
1412 */ 1412 */
1413 1413
1414static struct snd_kcontrol_new aureon_dac_controls[] __devinitdata = { 1414static const struct snd_kcontrol_new aureon_dac_controls[] __devinitdata = {
1415 { 1415 {
1416 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1416 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1417 .name = "Master Playback Switch", 1417 .name = "Master Playback Switch",
@@ -1526,7 +1526,7 @@ static struct snd_kcontrol_new aureon_dac_controls[] __devinitdata = {
1526 } 1526 }
1527}; 1527};
1528 1528
1529static struct snd_kcontrol_new wm_controls[] __devinitdata = { 1529static const struct snd_kcontrol_new wm_controls[] __devinitdata = {
1530 { 1530 {
1531 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1531 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1532 .name = "PCM Playback Switch", 1532 .name = "PCM Playback Switch",
@@ -1592,7 +1592,7 @@ static struct snd_kcontrol_new wm_controls[] __devinitdata = {
1592 } 1592 }
1593}; 1593};
1594 1594
1595static struct snd_kcontrol_new ac97_controls[] __devinitdata = { 1595static const struct snd_kcontrol_new ac97_controls[] __devinitdata = {
1596 { 1596 {
1597 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1597 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1598 .name = "AC97 Playback Switch", 1598 .name = "AC97 Playback Switch",
@@ -1697,7 +1697,7 @@ static struct snd_kcontrol_new ac97_controls[] __devinitdata = {
1697 } 1697 }
1698}; 1698};
1699 1699
1700static struct snd_kcontrol_new universe_ac97_controls[] __devinitdata = { 1700static const struct snd_kcontrol_new universe_ac97_controls[] __devinitdata = {
1701 { 1701 {
1702 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1702 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1703 .name = "AC97 Playback Switch", 1703 .name = "AC97 Playback Switch",
@@ -1829,8 +1829,7 @@ static struct snd_kcontrol_new universe_ac97_controls[] __devinitdata = {
1829 1829
1830}; 1830};
1831 1831
1832 1832static const struct snd_kcontrol_new cs8415_controls[] __devinitdata = {
1833static struct snd_kcontrol_new cs8415_controls[] __devinitdata = {
1834 { 1833 {
1835 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1834 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1836 .name = SNDRV_CTL_NAME_IEC958("",CAPTURE,SWITCH), 1835 .name = SNDRV_CTL_NAME_IEC958("",CAPTURE,SWITCH),
@@ -1875,7 +1874,6 @@ static struct snd_kcontrol_new cs8415_controls[] __devinitdata = {
1875 } 1874 }
1876}; 1875};
1877 1876
1878
1879static int __devinit aureon_add_controls(struct snd_ice1712 *ice) 1877static int __devinit aureon_add_controls(struct snd_ice1712 *ice)
1880{ 1878{
1881 unsigned int i, counts; 1879 unsigned int i, counts;
@@ -1943,7 +1941,7 @@ static int __devinit aureon_add_controls(struct snd_ice1712 *ice)
1943 */ 1941 */
1944static int __devinit aureon_init(struct snd_ice1712 *ice) 1942static int __devinit aureon_init(struct snd_ice1712 *ice)
1945{ 1943{
1946 static unsigned short wm_inits_aureon[] = { 1944 static const unsigned short wm_inits_aureon[] = {
1947 /* These come first to reduce init pop noise */ 1945 /* These come first to reduce init pop noise */
1948 0x1b, 0x044, /* ADC Mux (AC'97 source) */ 1946 0x1b, 0x044, /* ADC Mux (AC'97 source) */
1949 0x1c, 0x00B, /* Out Mux1 (VOUT1 = DAC+AUX, VOUT2 = DAC) */ 1947 0x1c, 0x00B, /* Out Mux1 (VOUT1 = DAC+AUX, VOUT2 = DAC) */
@@ -1979,7 +1977,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice)
1979 0x1a, 0x000, /* -12dB ADC/R */ 1977 0x1a, 0x000, /* -12dB ADC/R */
1980 (unsigned short)-1 1978 (unsigned short)-1
1981 }; 1979 };
1982 static unsigned short wm_inits_prodigy[] = { 1980 static const unsigned short wm_inits_prodigy[] = {
1983 1981
1984 /* These come first to reduce init pop noise */ 1982 /* These come first to reduce init pop noise */
1985 0x1b, 0x000, /* ADC Mux */ 1983 0x1b, 0x000, /* ADC Mux */
@@ -2021,7 +2019,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice)
2021 (unsigned short)-1 2019 (unsigned short)-1
2022 2020
2023 }; 2021 };
2024 static unsigned short cs_inits[] = { 2022 static const unsigned short cs_inits[] = {
2025 0x0441, /* RUN */ 2023 0x0441, /* RUN */
2026 0x0180, /* no mute, OMCK output on RMCK pin */ 2024 0x0180, /* no mute, OMCK output on RMCK pin */
2027 0x0201, /* S/PDIF source on RXP1 */ 2025 0x0201, /* S/PDIF source on RXP1 */
@@ -2029,7 +2027,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice)
2029 (unsigned short)-1 2027 (unsigned short)-1
2030 }; 2028 };
2031 unsigned int tmp; 2029 unsigned int tmp;
2032 unsigned short *p; 2030 const unsigned short *p;
2033 int err, i; 2031 int err, i;
2034 2032
2035 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) { 2033 if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) {
@@ -2109,7 +2107,7 @@ static int __devinit aureon_init(struct snd_ice1712 *ice)
2109 * hence the driver needs to sets up it properly. 2107 * hence the driver needs to sets up it properly.
2110 */ 2108 */
2111 2109
2112static unsigned char aureon51_eeprom[] __devinitdata = { 2110static const unsigned char aureon51_eeprom[] __devinitdata = {
2113 [ICE_EEP2_SYSCONF] = 0x0a, /* clock 512, spdif-in/ADC, 3DACs */ 2111 [ICE_EEP2_SYSCONF] = 0x0a, /* clock 512, spdif-in/ADC, 3DACs */
2114 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 2112 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
2115 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */ 2113 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
@@ -2125,7 +2123,7 @@ static unsigned char aureon51_eeprom[] __devinitdata = {
2125 [ICE_EEP2_GPIO_STATE2] = 0x00, 2123 [ICE_EEP2_GPIO_STATE2] = 0x00,
2126}; 2124};
2127 2125
2128static unsigned char aureon71_eeprom[] __devinitdata = { 2126static const unsigned char aureon71_eeprom[] __devinitdata = {
2129 [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */ 2127 [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */
2130 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 2128 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
2131 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */ 2129 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
@@ -2142,7 +2140,7 @@ static unsigned char aureon71_eeprom[] __devinitdata = {
2142}; 2140};
2143#define prodigy71_eeprom aureon71_eeprom 2141#define prodigy71_eeprom aureon71_eeprom
2144 2142
2145static unsigned char prodigy71lt_eeprom[] __devinitdata = { 2143static const unsigned char prodigy71lt_eeprom[] __devinitdata = {
2146 [ICE_EEP2_SYSCONF] = 0x4b, /* clock 384, spdif-in/ADC, 4DACs */ 2144 [ICE_EEP2_SYSCONF] = 0x4b, /* clock 384, spdif-in/ADC, 4DACs */
2147 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 2145 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
2148 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */ 2146 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
@@ -2160,7 +2158,7 @@ static unsigned char prodigy71lt_eeprom[] __devinitdata = {
2160#define prodigy71xt_eeprom prodigy71lt_eeprom 2158#define prodigy71xt_eeprom prodigy71lt_eeprom
2161 2159
2162/* entry point */ 2160/* entry point */
2163struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { 2161const struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = {
2164 { 2162 {
2165 .subvendor = VT1724_SUBDEVICE_AUREON51_SKY, 2163 .subvendor = VT1724_SUBDEVICE_AUREON51_SKY,
2166 .name = "Terratec Aureon 5.1-Sky", 2164 .name = "Terratec Aureon 5.1-Sky",
diff --git a/sound/pci/ice1712/aureon.h b/sound/pci/ice1712/aureon.h
index c253b8e2c789..79e58e88ed47 100644
--- a/sound/pci/ice1712/aureon.h
+++ b/sound/pci/ice1712/aureon.h
@@ -38,7 +38,7 @@
38#define VT1724_SUBDEVICE_PRODIGY71LT 0x32315441 /* PRODIGY 7.1 LT */ 38#define VT1724_SUBDEVICE_PRODIGY71LT 0x32315441 /* PRODIGY 7.1 LT */
39#define VT1724_SUBDEVICE_PRODIGY71XT 0x36315441 /* PRODIGY 7.1 XT*/ 39#define VT1724_SUBDEVICE_PRODIGY71XT 0x36315441 /* PRODIGY 7.1 XT*/
40 40
41extern struct snd_ice1712_card_info snd_vt1724_aureon_cards[]; 41extern const struct snd_ice1712_card_info snd_vt1724_aureon_cards[];
42 42
43/* GPIO bits */ 43/* GPIO bits */
44#define AUREON_CS8415_CS (1 << 22) 44#define AUREON_CS8415_CS (1 << 22)
diff --git a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c
index af659800c9b0..3eeb36c6e985 100644
--- a/sound/pci/ice1712/delta.c
+++ b/sound/pci/ice1712/delta.c
@@ -416,7 +416,7 @@ static int snd_ice1712_delta1010lt_wordclock_status_get(struct snd_kcontrol *kco
416 return 0; 416 return 0;
417} 417}
418 418
419static struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_status __devinitdata = 419static const struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_status __devinitdata =
420{ 420{
421 .access = (SNDRV_CTL_ELEM_ACCESS_READ), 421 .access = (SNDRV_CTL_ELEM_ACCESS_READ),
422 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 422 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
@@ -429,7 +429,7 @@ static struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_status __devini
429 * initialize the chips on M-Audio cards 429 * initialize the chips on M-Audio cards
430 */ 430 */
431 431
432static struct snd_akm4xxx akm_audiophile __devinitdata = { 432static const struct snd_akm4xxx akm_audiophile __devinitdata = {
433 .type = SND_AK4528, 433 .type = SND_AK4528,
434 .num_adcs = 2, 434 .num_adcs = 2,
435 .num_dacs = 2, 435 .num_dacs = 2,
@@ -438,7 +438,7 @@ static struct snd_akm4xxx akm_audiophile __devinitdata = {
438 } 438 }
439}; 439};
440 440
441static struct snd_ak4xxx_private akm_audiophile_priv __devinitdata = { 441static const struct snd_ak4xxx_private akm_audiophile_priv __devinitdata = {
442 .caddr = 2, 442 .caddr = 2,
443 .cif = 0, 443 .cif = 0,
444 .data_mask = ICE1712_DELTA_AP_DOUT, 444 .data_mask = ICE1712_DELTA_AP_DOUT,
@@ -450,7 +450,7 @@ static struct snd_ak4xxx_private akm_audiophile_priv __devinitdata = {
450 .mask_flags = 0, 450 .mask_flags = 0,
451}; 451};
452 452
453static struct snd_akm4xxx akm_delta410 __devinitdata = { 453static const struct snd_akm4xxx akm_delta410 __devinitdata = {
454 .type = SND_AK4529, 454 .type = SND_AK4529,
455 .num_adcs = 2, 455 .num_adcs = 2,
456 .num_dacs = 8, 456 .num_dacs = 8,
@@ -459,7 +459,7 @@ static struct snd_akm4xxx akm_delta410 __devinitdata = {
459 } 459 }
460}; 460};
461 461
462static struct snd_ak4xxx_private akm_delta410_priv __devinitdata = { 462static const struct snd_ak4xxx_private akm_delta410_priv __devinitdata = {
463 .caddr = 0, 463 .caddr = 0,
464 .cif = 0, 464 .cif = 0,
465 .data_mask = ICE1712_DELTA_AP_DOUT, 465 .data_mask = ICE1712_DELTA_AP_DOUT,
@@ -471,7 +471,7 @@ static struct snd_ak4xxx_private akm_delta410_priv __devinitdata = {
471 .mask_flags = 0, 471 .mask_flags = 0,
472}; 472};
473 473
474static struct snd_akm4xxx akm_delta1010lt __devinitdata = { 474static const struct snd_akm4xxx akm_delta1010lt __devinitdata = {
475 .type = SND_AK4524, 475 .type = SND_AK4524,
476 .num_adcs = 8, 476 .num_adcs = 8,
477 .num_dacs = 8, 477 .num_dacs = 8,
@@ -481,7 +481,7 @@ static struct snd_akm4xxx akm_delta1010lt __devinitdata = {
481 } 481 }
482}; 482};
483 483
484static struct snd_ak4xxx_private akm_delta1010lt_priv __devinitdata = { 484static const struct snd_ak4xxx_private akm_delta1010lt_priv __devinitdata = {
485 .caddr = 2, 485 .caddr = 2,
486 .cif = 0, /* the default level of the CIF pin from AK4524 */ 486 .cif = 0, /* the default level of the CIF pin from AK4524 */
487 .data_mask = ICE1712_DELTA_1010LT_DOUT, 487 .data_mask = ICE1712_DELTA_1010LT_DOUT,
@@ -493,7 +493,7 @@ static struct snd_ak4xxx_private akm_delta1010lt_priv __devinitdata = {
493 .mask_flags = 0, 493 .mask_flags = 0,
494}; 494};
495 495
496static struct snd_akm4xxx akm_delta44 __devinitdata = { 496static const struct snd_akm4xxx akm_delta44 __devinitdata = {
497 .type = SND_AK4524, 497 .type = SND_AK4524,
498 .num_adcs = 4, 498 .num_adcs = 4,
499 .num_dacs = 4, 499 .num_dacs = 4,
@@ -503,7 +503,7 @@ static struct snd_akm4xxx akm_delta44 __devinitdata = {
503 } 503 }
504}; 504};
505 505
506static struct snd_ak4xxx_private akm_delta44_priv __devinitdata = { 506static const struct snd_ak4xxx_private akm_delta44_priv __devinitdata = {
507 .caddr = 2, 507 .caddr = 2,
508 .cif = 0, /* the default level of the CIF pin from AK4524 */ 508 .cif = 0, /* the default level of the CIF pin from AK4524 */
509 .data_mask = ICE1712_DELTA_CODEC_SERIAL_DATA, 509 .data_mask = ICE1712_DELTA_CODEC_SERIAL_DATA,
@@ -515,7 +515,7 @@ static struct snd_ak4xxx_private akm_delta44_priv __devinitdata = {
515 .mask_flags = 0, 515 .mask_flags = 0,
516}; 516};
517 517
518static struct snd_akm4xxx akm_vx442 __devinitdata = { 518static const struct snd_akm4xxx akm_vx442 __devinitdata = {
519 .type = SND_AK4524, 519 .type = SND_AK4524,
520 .num_adcs = 4, 520 .num_adcs = 4,
521 .num_dacs = 4, 521 .num_dacs = 4,
@@ -525,7 +525,7 @@ static struct snd_akm4xxx akm_vx442 __devinitdata = {
525 } 525 }
526}; 526};
527 527
528static struct snd_ak4xxx_private akm_vx442_priv __devinitdata = { 528static const struct snd_ak4xxx_private akm_vx442_priv __devinitdata = {
529 .caddr = 2, 529 .caddr = 2,
530 .cif = 0, 530 .cif = 0,
531 .data_mask = ICE1712_VX442_DOUT, 531 .data_mask = ICE1712_VX442_DOUT,
@@ -650,15 +650,15 @@ static int __devinit snd_ice1712_delta_init(struct snd_ice1712 *ice)
650 * additional controls for M-Audio cards 650 * additional controls for M-Audio cards
651 */ 651 */
652 652
653static struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_select __devinitdata = 653static const struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_select __devinitdata =
654ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Sync", 0, ICE1712_DELTA_WORD_CLOCK_SELECT, 1, 0); 654ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Sync", 0, ICE1712_DELTA_WORD_CLOCK_SELECT, 1, 0);
655static struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_select __devinitdata = 655static const struct snd_kcontrol_new snd_ice1712_delta1010lt_wordclock_select __devinitdata =
656ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Sync", 0, ICE1712_DELTA_1010LT_WORDCLOCK, 0, 0); 656ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Sync", 0, ICE1712_DELTA_1010LT_WORDCLOCK, 0, 0);
657static struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_status __devinitdata = 657static const struct snd_kcontrol_new snd_ice1712_delta1010_wordclock_status __devinitdata =
658ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Status", 0, ICE1712_DELTA_WORD_CLOCK_STATUS, 1, SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE); 658ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Word Clock Status", 0, ICE1712_DELTA_WORD_CLOCK_STATUS, 1, SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE);
659static struct snd_kcontrol_new snd_ice1712_deltadio2496_spdif_in_select __devinitdata = 659static const struct snd_kcontrol_new snd_ice1712_deltadio2496_spdif_in_select __devinitdata =
660ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "IEC958 Input Optical", 0, ICE1712_DELTA_SPDIF_INPUT_SELECT, 0, 0); 660ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "IEC958 Input Optical", 0, ICE1712_DELTA_SPDIF_INPUT_SELECT, 0, 0);
661static struct snd_kcontrol_new snd_ice1712_delta_spdif_in_status __devinitdata = 661static const struct snd_kcontrol_new snd_ice1712_delta_spdif_in_status __devinitdata =
662ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Delta IEC958 Input Status", 0, ICE1712_DELTA_SPDIF_IN_STAT, 1, SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE); 662ICE1712_GPIO(SNDRV_CTL_ELEM_IFACE_MIXER, "Delta IEC958 Input Status", 0, ICE1712_DELTA_SPDIF_IN_STAT, 1, SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE);
663 663
664 664
@@ -735,7 +735,7 @@ static int __devinit snd_ice1712_delta_add_controls(struct snd_ice1712 *ice)
735 735
736 736
737/* entry point */ 737/* entry point */
738struct snd_ice1712_card_info snd_ice1712_delta_cards[] __devinitdata = { 738const struct snd_ice1712_card_info snd_ice1712_delta_cards[] __devinitdata = {
739 { 739 {
740 .subvendor = ICE1712_SUBDEVICE_DELTA1010, 740 .subvendor = ICE1712_SUBDEVICE_DELTA1010,
741 .name = "M Audio Delta 1010", 741 .name = "M Audio Delta 1010",
diff --git a/sound/pci/ice1712/delta.h b/sound/pci/ice1712/delta.h
index 746ebde94522..e65d669af639 100644
--- a/sound/pci/ice1712/delta.h
+++ b/sound/pci/ice1712/delta.h
@@ -46,7 +46,7 @@
46#define ICE1712_SUBDEVICE_MEDIASTATION 0x694c0100 46#define ICE1712_SUBDEVICE_MEDIASTATION 0x694c0100
47 47
48/* entry point */ 48/* entry point */
49extern struct snd_ice1712_card_info snd_ice1712_delta_cards[]; 49extern const struct snd_ice1712_card_info snd_ice1712_delta_cards[];
50 50
51 51
52/* 52/*
diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c
index b135389fec6c..9b7ff302c072 100644
--- a/sound/pci/ice1712/ews.c
+++ b/sound/pci/ice1712/ews.c
@@ -332,7 +332,7 @@ static void ews88_setup_spdif(struct snd_ice1712 *ice, int rate)
332 332
333/* 333/*
334 */ 334 */
335static struct snd_akm4xxx akm_ews88mt __devinitdata = { 335static const struct snd_akm4xxx akm_ews88mt __devinitdata = {
336 .num_adcs = 8, 336 .num_adcs = 8,
337 .num_dacs = 8, 337 .num_dacs = 8,
338 .type = SND_AK4524, 338 .type = SND_AK4524,
@@ -342,7 +342,7 @@ static struct snd_akm4xxx akm_ews88mt __devinitdata = {
342 } 342 }
343}; 343};
344 344
345static struct snd_ak4xxx_private akm_ews88mt_priv __devinitdata = { 345static const struct snd_ak4xxx_private akm_ews88mt_priv __devinitdata = {
346 .caddr = 2, 346 .caddr = 2,
347 .cif = 1, /* CIF high */ 347 .cif = 1, /* CIF high */
348 .data_mask = ICE1712_EWS88_SERIAL_DATA, 348 .data_mask = ICE1712_EWS88_SERIAL_DATA,
@@ -354,7 +354,7 @@ static struct snd_ak4xxx_private akm_ews88mt_priv __devinitdata = {
354 .mask_flags = 0, 354 .mask_flags = 0,
355}; 355};
356 356
357static struct snd_akm4xxx akm_ewx2496 __devinitdata = { 357static const struct snd_akm4xxx akm_ewx2496 __devinitdata = {
358 .num_adcs = 2, 358 .num_adcs = 2,
359 .num_dacs = 2, 359 .num_dacs = 2,
360 .type = SND_AK4524, 360 .type = SND_AK4524,
@@ -363,7 +363,7 @@ static struct snd_akm4xxx akm_ewx2496 __devinitdata = {
363 } 363 }
364}; 364};
365 365
366static struct snd_ak4xxx_private akm_ewx2496_priv __devinitdata = { 366static const struct snd_ak4xxx_private akm_ewx2496_priv __devinitdata = {
367 .caddr = 2, 367 .caddr = 2,
368 .cif = 1, /* CIF high */ 368 .cif = 1, /* CIF high */
369 .data_mask = ICE1712_EWS88_SERIAL_DATA, 369 .data_mask = ICE1712_EWS88_SERIAL_DATA,
@@ -375,7 +375,7 @@ static struct snd_ak4xxx_private akm_ewx2496_priv __devinitdata = {
375 .mask_flags = 0, 375 .mask_flags = 0,
376}; 376};
377 377
378static struct snd_akm4xxx akm_6fire __devinitdata = { 378static const struct snd_akm4xxx akm_6fire __devinitdata = {
379 .num_adcs = 6, 379 .num_adcs = 6,
380 .num_dacs = 6, 380 .num_dacs = 6,
381 .type = SND_AK4524, 381 .type = SND_AK4524,
@@ -384,7 +384,7 @@ static struct snd_akm4xxx akm_6fire __devinitdata = {
384 } 384 }
385}; 385};
386 386
387static struct snd_ak4xxx_private akm_6fire_priv __devinitdata = { 387static const struct snd_ak4xxx_private akm_6fire_priv __devinitdata = {
388 .caddr = 2, 388 .caddr = 2,
389 .cif = 1, /* CIF high */ 389 .cif = 1, /* CIF high */
390 .data_mask = ICE1712_6FIRE_SERIAL_DATA, 390 .data_mask = ICE1712_6FIRE_SERIAL_DATA,
@@ -578,7 +578,7 @@ static int snd_ice1712_ewx_io_sense_put(struct snd_kcontrol *kcontrol, struct sn
578 return val != nval; 578 return val != nval;
579} 579}
580 580
581static struct snd_kcontrol_new snd_ice1712_ewx2496_controls[] __devinitdata = { 581static const struct snd_kcontrol_new snd_ice1712_ewx2496_controls[] __devinitdata = {
582 { 582 {
583 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 583 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
584 .name = "Input Sensitivity Switch", 584 .name = "Input Sensitivity Switch",
@@ -678,7 +678,7 @@ static int snd_ice1712_ews88mt_input_sense_put(struct snd_kcontrol *kcontrol, st
678 return ndata != data; 678 return ndata != data;
679} 679}
680 680
681static struct snd_kcontrol_new snd_ice1712_ews88mt_input_sense __devinitdata = { 681static const struct snd_kcontrol_new snd_ice1712_ews88mt_input_sense __devinitdata = {
682 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 682 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
683 .name = "Input Sensitivity Switch", 683 .name = "Input Sensitivity Switch",
684 .info = snd_ice1712_ewx_io_sense_info, 684 .info = snd_ice1712_ewx_io_sense_info,
@@ -687,7 +687,7 @@ static struct snd_kcontrol_new snd_ice1712_ews88mt_input_sense __devinitdata = {
687 .count = 8, 687 .count = 8,
688}; 688};
689 689
690static struct snd_kcontrol_new snd_ice1712_ews88mt_output_sense __devinitdata = { 690static const struct snd_kcontrol_new snd_ice1712_ews88mt_output_sense __devinitdata = {
691 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 691 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
692 .name = "Output Sensitivity Switch", 692 .name = "Output Sensitivity Switch",
693 .info = snd_ice1712_ewx_io_sense_info, 693 .info = snd_ice1712_ewx_io_sense_info,
@@ -769,7 +769,7 @@ static int snd_ice1712_ews88d_control_put(struct snd_kcontrol *kcontrol, struct
769 .private_value = xshift | (xinvert << 8),\ 769 .private_value = xshift | (xinvert << 8),\
770} 770}
771 771
772static struct snd_kcontrol_new snd_ice1712_ews88d_controls[] __devinitdata = { 772static const struct snd_kcontrol_new snd_ice1712_ews88d_controls[] __devinitdata = {
773 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "IEC958 Input Optical", 0, 1, 0), /* inverted */ 773 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "IEC958 Input Optical", 0, 1, 0), /* inverted */
774 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "ADAT Output Optical", 1, 0, 0), 774 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "ADAT Output Optical", 1, 0, 0),
775 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "ADAT External Master Clock", 2, 0, 0), 775 EWS88D_CONTROL(SNDRV_CTL_ELEM_IFACE_MIXER, "ADAT External Master Clock", 2, 0, 0),
@@ -909,7 +909,7 @@ static int snd_ice1712_6fire_select_input_put(struct snd_kcontrol *kcontrol, str
909 .private_value = xshift | (xinvert << 8),\ 909 .private_value = xshift | (xinvert << 8),\
910} 910}
911 911
912static struct snd_kcontrol_new snd_ice1712_6fire_controls[] __devinitdata = { 912static const struct snd_kcontrol_new snd_ice1712_6fire_controls[] __devinitdata = {
913 { 913 {
914 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 914 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
915 .name = "Analog Input Select", 915 .name = "Analog Input Select",
@@ -989,7 +989,7 @@ static int __devinit snd_ice1712_ews_add_controls(struct snd_ice1712 *ice)
989 989
990 990
991/* entry point */ 991/* entry point */
992struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = { 992const struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = {
993 { 993 {
994 .subvendor = ICE1712_SUBDEVICE_EWX2496, 994 .subvendor = ICE1712_SUBDEVICE_EWX2496,
995 .name = "TerraTec EWX24/96", 995 .name = "TerraTec EWX24/96",
diff --git a/sound/pci/ice1712/ews.h b/sound/pci/ice1712/ews.h
index a12a0b053558..df449b4741f6 100644
--- a/sound/pci/ice1712/ews.h
+++ b/sound/pci/ice1712/ews.h
@@ -40,7 +40,7 @@
40#define ICE1712_SUBDEVICE_PHASE88 0x3b155111 40#define ICE1712_SUBDEVICE_PHASE88 0x3b155111
41 41
42/* entry point */ 42/* entry point */
43extern struct snd_ice1712_card_info snd_ice1712_ews_cards[]; 43extern const struct snd_ice1712_card_info snd_ice1712_ews_cards[];
44 44
45 45
46/* TerraTec EWX 24/96 configuration definitions */ 46/* TerraTec EWX 24/96 configuration definitions */
diff --git a/sound/pci/ice1712/hoontech.c b/sound/pci/ice1712/hoontech.c
index 3f27d04e7d3c..df97313aaf83 100644
--- a/sound/pci/ice1712/hoontech.c
+++ b/sound/pci/ice1712/hoontech.c
@@ -239,7 +239,7 @@ static void stdsp24_ak4524_lock(struct snd_akm4xxx *ak, int chip)
239static int __devinit snd_ice1712_value_init(struct snd_ice1712 *ice) 239static int __devinit snd_ice1712_value_init(struct snd_ice1712 *ice)
240{ 240{
241 /* Hoontech STDSP24 with modified hardware */ 241 /* Hoontech STDSP24 with modified hardware */
242 static struct snd_akm4xxx akm_stdsp24_mv __devinitdata = { 242 static const struct snd_akm4xxx akm_stdsp24_mv __devinitdata = {
243 .num_adcs = 2, 243 .num_adcs = 2,
244 .num_dacs = 2, 244 .num_dacs = 2,
245 .type = SND_AK4524, 245 .type = SND_AK4524,
@@ -248,7 +248,7 @@ static int __devinit snd_ice1712_value_init(struct snd_ice1712 *ice)
248 } 248 }
249 }; 249 };
250 250
251 static struct snd_ak4xxx_private akm_stdsp24_mv_priv __devinitdata = { 251 static const struct snd_ak4xxx_private akm_stdsp24_mv_priv __devinitdata = {
252 .caddr = 2, 252 .caddr = 2,
253 .cif = 1, /* CIF high */ 253 .cif = 1, /* CIF high */
254 .data_mask = ICE1712_STDSP24_SERIAL_DATA, 254 .data_mask = ICE1712_STDSP24_SERIAL_DATA,
@@ -298,7 +298,7 @@ static int __devinit snd_ice1712_ez8_init(struct snd_ice1712 *ice)
298 298
299 299
300/* entry point */ 300/* entry point */
301struct snd_ice1712_card_info snd_ice1712_hoontech_cards[] __devinitdata = { 301const struct snd_ice1712_card_info snd_ice1712_hoontech_cards[] __devinitdata = {
302 { 302 {
303 .subvendor = ICE1712_SUBDEVICE_STDSP24, 303 .subvendor = ICE1712_SUBDEVICE_STDSP24,
304 .name = "Hoontech SoundTrack Audio DSP24", 304 .name = "Hoontech SoundTrack Audio DSP24",
@@ -325,4 +325,3 @@ struct snd_ice1712_card_info snd_ice1712_hoontech_cards[] __devinitdata = {
325 }, 325 },
326 { } /* terminator */ 326 { } /* terminator */
327}; 327};
328
diff --git a/sound/pci/ice1712/hoontech.h b/sound/pci/ice1712/hoontech.h
index 1ee538b20fbf..b62d6e4f6c71 100644
--- a/sound/pci/ice1712/hoontech.h
+++ b/sound/pci/ice1712/hoontech.h
@@ -35,7 +35,7 @@
35#define ICE1712_SUBDEVICE_STDSP24_MEDIA7_1 0x16141217 /* Hoontech ST Audio DSP24 Media 7.1 */ 35#define ICE1712_SUBDEVICE_STDSP24_MEDIA7_1 0x16141217 /* Hoontech ST Audio DSP24 Media 7.1 */
36#define ICE1712_SUBDEVICE_EVENT_EZ8 0x00010001 /* A dummy id for EZ8 */ 36#define ICE1712_SUBDEVICE_EVENT_EZ8 0x00010001 /* A dummy id for EZ8 */
37 37
38extern struct snd_ice1712_card_info snd_ice1712_hoontech_cards[]; 38extern const struct snd_ice1712_card_info snd_ice1712_hoontech_cards[];
39 39
40 40
41/* Hoontech SoundTrack Audio DSP 24 GPIO definitions */ 41/* Hoontech SoundTrack Audio DSP 24 GPIO definitions */
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 8ba31cfb9045..b8baadba810c 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -107,7 +107,7 @@ module_param_array(dxr_enable, int, NULL, 0444);
107MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE."); 107MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE.");
108 108
109 109
110static struct pci_device_id snd_ice1712_ids[] = { 110static const struct pci_device_id snd_ice1712_ids[] = {
111 { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */ 111 { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */
112 { 0, } 112 { 0, }
113}; 113};
@@ -287,7 +287,7 @@ static int snd_ice1712_digmix_route_ac97_put(struct snd_kcontrol *kcontrol, stru
287 return val != nval; 287 return val != nval;
288} 288}
289 289
290static struct snd_kcontrol_new snd_ice1712_mixer_digmix_route_ac97 __devinitdata = { 290static const struct snd_kcontrol_new snd_ice1712_mixer_digmix_route_ac97 __devinitdata = {
291 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 291 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
292 .name = "Digital Mixer To AC97", 292 .name = "Digital Mixer To AC97",
293 .info = snd_ice1712_digmix_route_ac97_info, 293 .info = snd_ice1712_digmix_route_ac97_info,
@@ -719,7 +719,7 @@ static snd_pcm_uframes_t snd_ice1712_capture_pointer(struct snd_pcm_substream *s
719 return bytes_to_frames(substream->runtime, ptr); 719 return bytes_to_frames(substream->runtime, ptr);
720} 720}
721 721
722static struct snd_pcm_hardware snd_ice1712_playback = 722static const struct snd_pcm_hardware snd_ice1712_playback =
723{ 723{
724 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 724 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
725 SNDRV_PCM_INFO_BLOCK_TRANSFER | 725 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -739,7 +739,7 @@ static struct snd_pcm_hardware snd_ice1712_playback =
739 .fifo_size = 0, 739 .fifo_size = 0,
740}; 740};
741 741
742static struct snd_pcm_hardware snd_ice1712_playback_ds = 742static const struct snd_pcm_hardware snd_ice1712_playback_ds =
743{ 743{
744 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 744 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
745 SNDRV_PCM_INFO_BLOCK_TRANSFER | 745 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -759,7 +759,7 @@ static struct snd_pcm_hardware snd_ice1712_playback_ds =
759 .fifo_size = 0, 759 .fifo_size = 0,
760}; 760};
761 761
762static struct snd_pcm_hardware snd_ice1712_capture = 762static const struct snd_pcm_hardware snd_ice1712_capture =
763{ 763{
764 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 764 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
765 SNDRV_PCM_INFO_BLOCK_TRANSFER | 765 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -1133,7 +1133,7 @@ static snd_pcm_uframes_t snd_ice1712_capture_pro_pointer(struct snd_pcm_substrea
1133 return bytes_to_frames(substream->runtime, ptr); 1133 return bytes_to_frames(substream->runtime, ptr);
1134} 1134}
1135 1135
1136static struct snd_pcm_hardware snd_ice1712_playback_pro = 1136static const struct snd_pcm_hardware snd_ice1712_playback_pro =
1137{ 1137{
1138 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 1138 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
1139 SNDRV_PCM_INFO_BLOCK_TRANSFER | 1139 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -1153,7 +1153,7 @@ static struct snd_pcm_hardware snd_ice1712_playback_pro =
1153 .fifo_size = 0, 1153 .fifo_size = 0,
1154}; 1154};
1155 1155
1156static struct snd_pcm_hardware snd_ice1712_capture_pro = 1156static const struct snd_pcm_hardware snd_ice1712_capture_pro =
1157{ 1157{
1158 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 1158 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
1159 SNDRV_PCM_INFO_BLOCK_TRANSFER | 1159 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -1380,7 +1380,7 @@ static int snd_ice1712_pro_mixer_volume_put(struct snd_kcontrol *kcontrol, struc
1380 1380
1381static DECLARE_TLV_DB_SCALE(db_scale_playback, -14400, 150, 0); 1381static DECLARE_TLV_DB_SCALE(db_scale_playback, -14400, 150, 0);
1382 1382
1383static struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata = { 1383static const struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata = {
1384 { 1384 {
1385 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1385 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1386 .name = "Multi Playback Switch", 1386 .name = "Multi Playback Switch",
@@ -1404,7 +1404,7 @@ static struct snd_kcontrol_new snd_ice1712_multi_playback_ctrls[] __devinitdata
1404 }, 1404 },
1405}; 1405};
1406 1406
1407static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_switch __devinitdata = { 1407static const struct snd_kcontrol_new snd_ice1712_multi_capture_analog_switch __devinitdata = {
1408 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1408 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1409 .name = "H/W Multi Capture Switch", 1409 .name = "H/W Multi Capture Switch",
1410 .info = snd_ice1712_pro_mixer_switch_info, 1410 .info = snd_ice1712_pro_mixer_switch_info,
@@ -1413,7 +1413,7 @@ static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_switch __devinit
1413 .private_value = 10, 1413 .private_value = 10,
1414}; 1414};
1415 1415
1416static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_switch __devinitdata = { 1416static const struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_switch __devinitdata = {
1417 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1417 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1418 .name = SNDRV_CTL_NAME_IEC958("Multi ",CAPTURE,SWITCH), 1418 .name = SNDRV_CTL_NAME_IEC958("Multi ",CAPTURE,SWITCH),
1419 .info = snd_ice1712_pro_mixer_switch_info, 1419 .info = snd_ice1712_pro_mixer_switch_info,
@@ -1423,7 +1423,7 @@ static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_switch __devinitd
1423 .count = 2, 1423 .count = 2,
1424}; 1424};
1425 1425
1426static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_volume __devinitdata = { 1426static const struct snd_kcontrol_new snd_ice1712_multi_capture_analog_volume __devinitdata = {
1427 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1427 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1428 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE | 1428 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
1429 SNDRV_CTL_ELEM_ACCESS_TLV_READ), 1429 SNDRV_CTL_ELEM_ACCESS_TLV_READ),
@@ -1435,7 +1435,7 @@ static struct snd_kcontrol_new snd_ice1712_multi_capture_analog_volume __devinit
1435 .tlv = { .p = db_scale_playback } 1435 .tlv = { .p = db_scale_playback }
1436}; 1436};
1437 1437
1438static struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_volume __devinitdata = { 1438static const struct snd_kcontrol_new snd_ice1712_multi_capture_spdif_volume __devinitdata = {
1439 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1439 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1440 .name = SNDRV_CTL_NAME_IEC958("Multi ",CAPTURE,VOLUME), 1440 .name = SNDRV_CTL_NAME_IEC958("Multi ",CAPTURE,VOLUME),
1441 .info = snd_ice1712_pro_mixer_volume_info, 1441 .info = snd_ice1712_pro_mixer_volume_info,
@@ -1627,7 +1627,7 @@ static int snd_ice1712_eeprom_get(struct snd_kcontrol *kcontrol,
1627 return 0; 1627 return 0;
1628} 1628}
1629 1629
1630static struct snd_kcontrol_new snd_ice1712_eeprom __devinitdata = { 1630static const struct snd_kcontrol_new snd_ice1712_eeprom __devinitdata = {
1631 .iface = SNDRV_CTL_ELEM_IFACE_CARD, 1631 .iface = SNDRV_CTL_ELEM_IFACE_CARD,
1632 .name = "ICE1712 EEPROM", 1632 .name = "ICE1712 EEPROM",
1633 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1633 .access = SNDRV_CTL_ELEM_ACCESS_READ,
@@ -1663,7 +1663,7 @@ static int snd_ice1712_spdif_default_put(struct snd_kcontrol *kcontrol,
1663 return 0; 1663 return 0;
1664} 1664}
1665 1665
1666static struct snd_kcontrol_new snd_ice1712_spdif_default __devinitdata = 1666static const struct snd_kcontrol_new snd_ice1712_spdif_default __devinitdata =
1667{ 1667{
1668 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1668 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
1669 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT), 1669 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
@@ -1714,7 +1714,7 @@ static int snd_ice1712_spdif_maskp_get(struct snd_kcontrol *kcontrol,
1714 return 0; 1714 return 0;
1715} 1715}
1716 1716
1717static struct snd_kcontrol_new snd_ice1712_spdif_maskc __devinitdata = 1717static const struct snd_kcontrol_new snd_ice1712_spdif_maskc __devinitdata =
1718{ 1718{
1719 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1719 .access = SNDRV_CTL_ELEM_ACCESS_READ,
1720 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1720 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
@@ -1723,7 +1723,7 @@ static struct snd_kcontrol_new snd_ice1712_spdif_maskc __devinitdata =
1723 .get = snd_ice1712_spdif_maskc_get, 1723 .get = snd_ice1712_spdif_maskc_get,
1724}; 1724};
1725 1725
1726static struct snd_kcontrol_new snd_ice1712_spdif_maskp __devinitdata = 1726static const struct snd_kcontrol_new snd_ice1712_spdif_maskp __devinitdata =
1727{ 1727{
1728 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1728 .access = SNDRV_CTL_ELEM_ACCESS_READ,
1729 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1729 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
@@ -1750,7 +1750,7 @@ static int snd_ice1712_spdif_stream_put(struct snd_kcontrol *kcontrol,
1750 return 0; 1750 return 0;
1751} 1751}
1752 1752
1753static struct snd_kcontrol_new snd_ice1712_spdif_stream __devinitdata = 1753static const struct snd_kcontrol_new snd_ice1712_spdif_stream __devinitdata =
1754{ 1754{
1755 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE | 1755 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
1756 SNDRV_CTL_ELEM_ACCESS_INACTIVE), 1756 SNDRV_CTL_ELEM_ACCESS_INACTIVE),
@@ -1811,7 +1811,7 @@ int snd_ice1712_gpio_put(struct snd_kcontrol *kcontrol,
1811static int snd_ice1712_pro_internal_clock_info(struct snd_kcontrol *kcontrol, 1811static int snd_ice1712_pro_internal_clock_info(struct snd_kcontrol *kcontrol,
1812 struct snd_ctl_elem_info *uinfo) 1812 struct snd_ctl_elem_info *uinfo)
1813{ 1813{
1814 static char *texts[] = { 1814 static const char * const texts[] = {
1815 "8000", /* 0: 6 */ 1815 "8000", /* 0: 6 */
1816 "9600", /* 1: 3 */ 1816 "9600", /* 1: 3 */
1817 "11025", /* 2: 10 */ 1817 "11025", /* 2: 10 */
@@ -1840,7 +1840,7 @@ static int snd_ice1712_pro_internal_clock_get(struct snd_kcontrol *kcontrol,
1840 struct snd_ctl_elem_value *ucontrol) 1840 struct snd_ctl_elem_value *ucontrol)
1841{ 1841{
1842 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); 1842 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1843 static unsigned char xlate[16] = { 1843 static const unsigned char xlate[16] = {
1844 9, 6, 3, 1, 7, 4, 0, 12, 8, 5, 2, 11, 255, 255, 255, 10 1844 9, 6, 3, 1, 7, 4, 0, 12, 8, 5, 2, 11, 255, 255, 255, 10
1845 }; 1845 };
1846 unsigned char val; 1846 unsigned char val;
@@ -1864,7 +1864,7 @@ static int snd_ice1712_pro_internal_clock_put(struct snd_kcontrol *kcontrol,
1864 struct snd_ctl_elem_value *ucontrol) 1864 struct snd_ctl_elem_value *ucontrol)
1865{ 1865{
1866 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); 1866 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1867 static unsigned int xrate[13] = { 1867 static const unsigned int xrate[13] = {
1868 8000, 9600, 11025, 12000, 16000, 22050, 24000, 1868 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1869 32000, 44100, 48000, 64000, 88200, 96000 1869 32000, 44100, 48000, 64000, 88200, 96000
1870 }; 1870 };
@@ -1891,7 +1891,7 @@ static int snd_ice1712_pro_internal_clock_put(struct snd_kcontrol *kcontrol,
1891 return change; 1891 return change;
1892} 1892}
1893 1893
1894static struct snd_kcontrol_new snd_ice1712_pro_internal_clock __devinitdata = { 1894static const struct snd_kcontrol_new snd_ice1712_pro_internal_clock __devinitdata = {
1895 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1895 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1896 .name = "Multi Track Internal Clock", 1896 .name = "Multi Track Internal Clock",
1897 .info = snd_ice1712_pro_internal_clock_info, 1897 .info = snd_ice1712_pro_internal_clock_info,
@@ -1902,7 +1902,7 @@ static struct snd_kcontrol_new snd_ice1712_pro_internal_clock __devinitdata = {
1902static int snd_ice1712_pro_internal_clock_default_info(struct snd_kcontrol *kcontrol, 1902static int snd_ice1712_pro_internal_clock_default_info(struct snd_kcontrol *kcontrol,
1903 struct snd_ctl_elem_info *uinfo) 1903 struct snd_ctl_elem_info *uinfo)
1904{ 1904{
1905 static char *texts[] = { 1905 static const char * const texts[] = {
1906 "8000", /* 0: 6 */ 1906 "8000", /* 0: 6 */
1907 "9600", /* 1: 3 */ 1907 "9600", /* 1: 3 */
1908 "11025", /* 2: 10 */ 1908 "11025", /* 2: 10 */
@@ -1931,7 +1931,7 @@ static int snd_ice1712_pro_internal_clock_default_get(struct snd_kcontrol *kcont
1931 struct snd_ctl_elem_value *ucontrol) 1931 struct snd_ctl_elem_value *ucontrol)
1932{ 1932{
1933 int val; 1933 int val;
1934 static unsigned int xrate[13] = { 1934 static const unsigned int xrate[13] = {
1935 8000, 9600, 11025, 12000, 16000, 22050, 24000, 1935 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1936 32000, 44100, 48000, 64000, 88200, 96000 1936 32000, 44100, 48000, 64000, 88200, 96000
1937 }; 1937 };
@@ -1948,7 +1948,7 @@ static int snd_ice1712_pro_internal_clock_default_get(struct snd_kcontrol *kcont
1948static int snd_ice1712_pro_internal_clock_default_put(struct snd_kcontrol *kcontrol, 1948static int snd_ice1712_pro_internal_clock_default_put(struct snd_kcontrol *kcontrol,
1949 struct snd_ctl_elem_value *ucontrol) 1949 struct snd_ctl_elem_value *ucontrol)
1950{ 1950{
1951 static unsigned int xrate[13] = { 1951 static const unsigned int xrate[13] = {
1952 8000, 9600, 11025, 12000, 16000, 22050, 24000, 1952 8000, 9600, 11025, 12000, 16000, 22050, 24000,
1953 32000, 44100, 48000, 64000, 88200, 96000 1953 32000, 44100, 48000, 64000, 88200, 96000
1954 }; 1954 };
@@ -1962,7 +1962,7 @@ static int snd_ice1712_pro_internal_clock_default_put(struct snd_kcontrol *kcont
1962 return change; 1962 return change;
1963} 1963}
1964 1964
1965static struct snd_kcontrol_new snd_ice1712_pro_internal_clock_default __devinitdata = { 1965static const struct snd_kcontrol_new snd_ice1712_pro_internal_clock_default __devinitdata = {
1966 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1966 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1967 .name = "Multi Track Internal Clock Default", 1967 .name = "Multi Track Internal Clock Default",
1968 .info = snd_ice1712_pro_internal_clock_default_info, 1968 .info = snd_ice1712_pro_internal_clock_default_info,
@@ -2001,7 +2001,7 @@ static int snd_ice1712_pro_rate_locking_put(struct snd_kcontrol *kcontrol,
2001 return change; 2001 return change;
2002} 2002}
2003 2003
2004static struct snd_kcontrol_new snd_ice1712_pro_rate_locking __devinitdata = { 2004static const struct snd_kcontrol_new snd_ice1712_pro_rate_locking __devinitdata = {
2005 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2005 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2006 .name = "Multi Track Rate Locking", 2006 .name = "Multi Track Rate Locking",
2007 .info = snd_ice1712_pro_rate_locking_info, 2007 .info = snd_ice1712_pro_rate_locking_info,
@@ -2040,7 +2040,7 @@ static int snd_ice1712_pro_rate_reset_put(struct snd_kcontrol *kcontrol,
2040 return change; 2040 return change;
2041} 2041}
2042 2042
2043static struct snd_kcontrol_new snd_ice1712_pro_rate_reset __devinitdata = { 2043static const struct snd_kcontrol_new snd_ice1712_pro_rate_reset __devinitdata = {
2044 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2044 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2045 .name = "Multi Track Rate Reset", 2045 .name = "Multi Track Rate Reset",
2046 .info = snd_ice1712_pro_rate_reset_info, 2046 .info = snd_ice1712_pro_rate_reset_info,
@@ -2054,7 +2054,7 @@ static struct snd_kcontrol_new snd_ice1712_pro_rate_reset __devinitdata = {
2054static int snd_ice1712_pro_route_info(struct snd_kcontrol *kcontrol, 2054static int snd_ice1712_pro_route_info(struct snd_kcontrol *kcontrol,
2055 struct snd_ctl_elem_info *uinfo) 2055 struct snd_ctl_elem_info *uinfo)
2056{ 2056{
2057 static char *texts[] = { 2057 static const char * const texts[] = {
2058 "PCM Out", /* 0 */ 2058 "PCM Out", /* 0 */
2059 "H/W In 0", "H/W In 1", "H/W In 2", "H/W In 3", /* 1-4 */ 2059 "H/W In 0", "H/W In 1", "H/W In 2", "H/W In 3", /* 1-4 */
2060 "H/W In 4", "H/W In 5", "H/W In 6", "H/W In 7", /* 5-8 */ 2060 "H/W In 4", "H/W In 5", "H/W In 6", "H/W In 7", /* 5-8 */
@@ -2207,7 +2207,7 @@ static int snd_ice1712_pro_route_spdif_put(struct snd_kcontrol *kcontrol,
2207 return change; 2207 return change;
2208} 2208}
2209 2209
2210static struct snd_kcontrol_new snd_ice1712_mixer_pro_analog_route __devinitdata = { 2210static const struct snd_kcontrol_new snd_ice1712_mixer_pro_analog_route __devinitdata = {
2211 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2211 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2212 .name = "H/W Playback Route", 2212 .name = "H/W Playback Route",
2213 .info = snd_ice1712_pro_route_info, 2213 .info = snd_ice1712_pro_route_info,
@@ -2215,7 +2215,7 @@ static struct snd_kcontrol_new snd_ice1712_mixer_pro_analog_route __devinitdata
2215 .put = snd_ice1712_pro_route_analog_put, 2215 .put = snd_ice1712_pro_route_analog_put,
2216}; 2216};
2217 2217
2218static struct snd_kcontrol_new snd_ice1712_mixer_pro_spdif_route __devinitdata = { 2218static const struct snd_kcontrol_new snd_ice1712_mixer_pro_spdif_route __devinitdata = {
2219 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2219 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2220 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route", 2220 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",
2221 .info = snd_ice1712_pro_route_info, 2221 .info = snd_ice1712_pro_route_info,
@@ -2257,7 +2257,7 @@ static int snd_ice1712_pro_volume_rate_put(struct snd_kcontrol *kcontrol,
2257 return change; 2257 return change;
2258} 2258}
2259 2259
2260static struct snd_kcontrol_new snd_ice1712_mixer_pro_volume_rate __devinitdata = { 2260static const struct snd_kcontrol_new snd_ice1712_mixer_pro_volume_rate __devinitdata = {
2261 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2261 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2262 .name = "Multi Track Volume Rate", 2262 .name = "Multi Track Volume Rate",
2263 .info = snd_ice1712_pro_volume_rate_info, 2263 .info = snd_ice1712_pro_volume_rate_info,
@@ -2290,7 +2290,7 @@ static int snd_ice1712_pro_peak_get(struct snd_kcontrol *kcontrol,
2290 return 0; 2290 return 0;
2291} 2291}
2292 2292
2293static struct snd_kcontrol_new snd_ice1712_mixer_pro_peak __devinitdata = { 2293static const struct snd_kcontrol_new snd_ice1712_mixer_pro_peak __devinitdata = {
2294 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 2294 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
2295 .name = "Multi Track Peak", 2295 .name = "Multi Track Peak",
2296 .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE, 2296 .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
@@ -2305,7 +2305,7 @@ static struct snd_kcontrol_new snd_ice1712_mixer_pro_peak __devinitdata = {
2305/* 2305/*
2306 * list of available boards 2306 * list of available boards
2307 */ 2307 */
2308static struct snd_ice1712_card_info *card_tables[] __devinitdata = { 2308static const struct snd_ice1712_card_info *card_tables[] __devinitdata = {
2309 snd_ice1712_hoontech_cards, 2309 snd_ice1712_hoontech_cards,
2310 snd_ice1712_delta_cards, 2310 snd_ice1712_delta_cards,
2311 snd_ice1712_ews_cards, 2311 snd_ice1712_ews_cards,
@@ -2329,7 +2329,7 @@ static int __devinit snd_ice1712_read_eeprom(struct snd_ice1712 *ice,
2329{ 2329{
2330 int dev = 0xa0; /* EEPROM device address */ 2330 int dev = 0xa0; /* EEPROM device address */
2331 unsigned int i, size; 2331 unsigned int i, size;
2332 struct snd_ice1712_card_info **tbl, *c; 2332 const struct snd_ice1712_card_info **tbl, *c;
2333 2333
2334 if (! modelname || ! *modelname) { 2334 if (! modelname || ! *modelname) {
2335 ice->eeprom.subvendor = 0; 2335 ice->eeprom.subvendor = 0;
@@ -2658,7 +2658,7 @@ static int __devinit snd_ice1712_create(struct snd_card *card,
2658 * 2658 *
2659 */ 2659 */
2660 2660
2661static struct snd_ice1712_card_info no_matched __devinitdata; 2661static const struct snd_ice1712_card_info no_matched __devinitdata;
2662 2662
2663static int __devinit snd_ice1712_probe(struct pci_dev *pci, 2663static int __devinit snd_ice1712_probe(struct pci_dev *pci,
2664 const struct pci_device_id *pci_id) 2664 const struct pci_device_id *pci_id)
@@ -2667,7 +2667,7 @@ static int __devinit snd_ice1712_probe(struct pci_dev *pci,
2667 struct snd_card *card; 2667 struct snd_card *card;
2668 struct snd_ice1712 *ice; 2668 struct snd_ice1712 *ice;
2669 int pcm_dev = 0, err; 2669 int pcm_dev = 0, err;
2670 struct snd_ice1712_card_info **tbl, *c; 2670 const struct snd_ice1712_card_info **tbl, *c;
2671 2671
2672 if (dev >= SNDRV_CARDS) 2672 if (dev >= SNDRV_CARDS)
2673 return -ENODEV; 2673 return -ENODEV;
diff --git a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h
index 064542bf3af8..c3d9feaaf57d 100644
--- a/sound/pci/ice1712/ice1712.h
+++ b/sound/pci/ice1712/ice1712.h
@@ -514,8 +514,8 @@ struct snd_ice1712_card_info {
514 unsigned int mpu401_2_info_flags; 514 unsigned int mpu401_2_info_flags;
515 const char *mpu401_1_name; 515 const char *mpu401_1_name;
516 const char *mpu401_2_name; 516 const char *mpu401_2_name;
517 unsigned int eeprom_size; 517 const unsigned int eeprom_size;
518 unsigned char *eeprom_data; 518 const unsigned char *eeprom_data;
519}; 519};
520 520
521 521
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index 4566c0f789aa..1127ebdf5fec 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -87,7 +87,7 @@ MODULE_PARM_DESC(model, "Use the given board model.");
87 87
88 88
89/* Both VT1720 and VT1724 have the same PCI IDs */ 89/* Both VT1720 and VT1724 have the same PCI IDs */
90static struct pci_device_id snd_vt1724_ids[] = { 90static const struct pci_device_id snd_vt1724_ids[] = {
91 { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, 91 { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
92 { 0, } 92 { 0, }
93}; 93};
@@ -342,7 +342,7 @@ static int snd_vt1724_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
342 342
343 what = 0; 343 what = 0;
344 snd_pcm_group_for_each(pos, substream) { 344 snd_pcm_group_for_each(pos, substream) {
345 struct vt1724_pcm_reg *reg; 345 const struct vt1724_pcm_reg *reg;
346 s = snd_pcm_group_substream_entry(pos); 346 s = snd_pcm_group_substream_entry(pos);
347 reg = s->runtime->private_data; 347 reg = s->runtime->private_data;
348 what |= reg->start; 348 what |= reg->start;
@@ -606,7 +606,7 @@ static snd_pcm_uframes_t snd_vt1724_playback_pro_pointer(struct snd_pcm_substrea
606static int snd_vt1724_pcm_prepare(struct snd_pcm_substream *substream) 606static int snd_vt1724_pcm_prepare(struct snd_pcm_substream *substream)
607{ 607{
608 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 608 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
609 struct vt1724_pcm_reg *reg = substream->runtime->private_data; 609 const struct vt1724_pcm_reg *reg = substream->runtime->private_data;
610 610
611 spin_lock_irq(&ice->reg_lock); 611 spin_lock_irq(&ice->reg_lock);
612 outl(substream->runtime->dma_addr, ice->profi_port + reg->addr); 612 outl(substream->runtime->dma_addr, ice->profi_port + reg->addr);
@@ -621,7 +621,7 @@ static int snd_vt1724_pcm_prepare(struct snd_pcm_substream *substream)
621static snd_pcm_uframes_t snd_vt1724_pcm_pointer(struct snd_pcm_substream *substream) 621static snd_pcm_uframes_t snd_vt1724_pcm_pointer(struct snd_pcm_substream *substream)
622{ 622{
623 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 623 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
624 struct vt1724_pcm_reg *reg = substream->runtime->private_data; 624 const struct vt1724_pcm_reg *reg = substream->runtime->private_data;
625 size_t ptr; 625 size_t ptr;
626 626
627 if (!(inl(ICEMT1724(ice, DMA_CONTROL)) & reg->start)) 627 if (!(inl(ICEMT1724(ice, DMA_CONTROL)) & reg->start))
@@ -647,21 +647,21 @@ static snd_pcm_uframes_t snd_vt1724_pcm_pointer(struct snd_pcm_substream *substr
647#endif 647#endif
648} 648}
649 649
650static struct vt1724_pcm_reg vt1724_playback_pro_reg = { 650static const struct vt1724_pcm_reg vt1724_playback_pro_reg = {
651 .addr = VT1724_MT_PLAYBACK_ADDR, 651 .addr = VT1724_MT_PLAYBACK_ADDR,
652 .size = VT1724_MT_PLAYBACK_SIZE, 652 .size = VT1724_MT_PLAYBACK_SIZE,
653 .count = VT1724_MT_PLAYBACK_COUNT, 653 .count = VT1724_MT_PLAYBACK_COUNT,
654 .start = VT1724_PDMA0_START, 654 .start = VT1724_PDMA0_START,
655}; 655};
656 656
657static struct vt1724_pcm_reg vt1724_capture_pro_reg = { 657static const struct vt1724_pcm_reg vt1724_capture_pro_reg = {
658 .addr = VT1724_MT_CAPTURE_ADDR, 658 .addr = VT1724_MT_CAPTURE_ADDR,
659 .size = VT1724_MT_CAPTURE_SIZE, 659 .size = VT1724_MT_CAPTURE_SIZE,
660 .count = VT1724_MT_CAPTURE_COUNT, 660 .count = VT1724_MT_CAPTURE_COUNT,
661 .start = VT1724_RDMA0_START, 661 .start = VT1724_RDMA0_START,
662}; 662};
663 663
664static struct snd_pcm_hardware snd_vt1724_playback_pro = 664static const struct snd_pcm_hardware snd_vt1724_playback_pro =
665{ 665{
666 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 666 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
667 SNDRV_PCM_INFO_BLOCK_TRANSFER | 667 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -680,7 +680,7 @@ static struct snd_pcm_hardware snd_vt1724_playback_pro =
680 .periods_max = 1024, 680 .periods_max = 1024,
681}; 681};
682 682
683static struct snd_pcm_hardware snd_vt1724_spdif = 683static const struct snd_pcm_hardware snd_vt1724_spdif =
684{ 684{
685 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 685 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
686 SNDRV_PCM_INFO_BLOCK_TRANSFER | 686 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -702,7 +702,7 @@ static struct snd_pcm_hardware snd_vt1724_spdif =
702 .periods_max = 1024, 702 .periods_max = 1024,
703}; 703};
704 704
705static struct snd_pcm_hardware snd_vt1724_2ch_stereo = 705static const struct snd_pcm_hardware snd_vt1724_2ch_stereo =
706{ 706{
707 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | 707 .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED |
708 SNDRV_PCM_INFO_BLOCK_TRANSFER | 708 SNDRV_PCM_INFO_BLOCK_TRANSFER |
@@ -774,7 +774,7 @@ static int snd_vt1724_playback_pro_open(struct snd_pcm_substream *substream)
774 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 774 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
775 int chs; 775 int chs;
776 776
777 runtime->private_data = &vt1724_playback_pro_reg; 777 runtime->private_data = (void *)&vt1724_playback_pro_reg;
778 ice->playback_pro_substream = substream; 778 ice->playback_pro_substream = substream;
779 runtime->hw = snd_vt1724_playback_pro; 779 runtime->hw = snd_vt1724_playback_pro;
780 snd_pcm_set_sync(substream); 780 snd_pcm_set_sync(substream);
@@ -803,7 +803,7 @@ static int snd_vt1724_capture_pro_open(struct snd_pcm_substream *substream)
803 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 803 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
804 struct snd_pcm_runtime *runtime = substream->runtime; 804 struct snd_pcm_runtime *runtime = substream->runtime;
805 805
806 runtime->private_data = &vt1724_capture_pro_reg; 806 runtime->private_data = (void *)&vt1724_capture_pro_reg;
807 ice->capture_pro_substream = substream; 807 ice->capture_pro_substream = substream;
808 runtime->hw = snd_vt1724_2ch_stereo; 808 runtime->hw = snd_vt1724_2ch_stereo;
809 snd_pcm_set_sync(substream); 809 snd_pcm_set_sync(substream);
@@ -889,14 +889,14 @@ static int __devinit snd_vt1724_pcm_profi(struct snd_ice1712 * ice, int device)
889 * SPDIF PCM 889 * SPDIF PCM
890 */ 890 */
891 891
892static struct vt1724_pcm_reg vt1724_playback_spdif_reg = { 892static const struct vt1724_pcm_reg vt1724_playback_spdif_reg = {
893 .addr = VT1724_MT_PDMA4_ADDR, 893 .addr = VT1724_MT_PDMA4_ADDR,
894 .size = VT1724_MT_PDMA4_SIZE, 894 .size = VT1724_MT_PDMA4_SIZE,
895 .count = VT1724_MT_PDMA4_COUNT, 895 .count = VT1724_MT_PDMA4_COUNT,
896 .start = VT1724_PDMA4_START, 896 .start = VT1724_PDMA4_START,
897}; 897};
898 898
899static struct vt1724_pcm_reg vt1724_capture_spdif_reg = { 899static const struct vt1724_pcm_reg vt1724_capture_spdif_reg = {
900 .addr = VT1724_MT_RDMA1_ADDR, 900 .addr = VT1724_MT_RDMA1_ADDR,
901 .size = VT1724_MT_RDMA1_SIZE, 901 .size = VT1724_MT_RDMA1_SIZE,
902 .count = VT1724_MT_RDMA1_COUNT, 902 .count = VT1724_MT_RDMA1_COUNT,
@@ -954,7 +954,7 @@ static int snd_vt1724_playback_spdif_open(struct snd_pcm_substream *substream)
954 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 954 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
955 struct snd_pcm_runtime *runtime = substream->runtime; 955 struct snd_pcm_runtime *runtime = substream->runtime;
956 956
957 runtime->private_data = &vt1724_playback_spdif_reg; 957 runtime->private_data = (void *)&vt1724_playback_spdif_reg;
958 ice->playback_con_substream = substream; 958 ice->playback_con_substream = substream;
959 if (ice->force_pdma4) { 959 if (ice->force_pdma4) {
960 runtime->hw = snd_vt1724_2ch_stereo; 960 runtime->hw = snd_vt1724_2ch_stereo;
@@ -986,7 +986,7 @@ static int snd_vt1724_capture_spdif_open(struct snd_pcm_substream *substream)
986 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream); 986 struct snd_ice1712 *ice = snd_pcm_substream_chip(substream);
987 struct snd_pcm_runtime *runtime = substream->runtime; 987 struct snd_pcm_runtime *runtime = substream->runtime;
988 988
989 runtime->private_data = &vt1724_capture_spdif_reg; 989 runtime->private_data = (void *)&vt1724_capture_spdif_reg;
990 ice->capture_con_substream = substream; 990 ice->capture_con_substream = substream;
991 if (ice->force_rdma1) { 991 if (ice->force_rdma1) {
992 runtime->hw = snd_vt1724_2ch_stereo; 992 runtime->hw = snd_vt1724_2ch_stereo;
@@ -1091,7 +1091,7 @@ static int __devinit snd_vt1724_pcm_spdif(struct snd_ice1712 * ice, int device)
1091 * independent surround PCMs 1091 * independent surround PCMs
1092 */ 1092 */
1093 1093
1094static struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = { 1094static const struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = {
1095 { 1095 {
1096 .addr = VT1724_MT_PDMA1_ADDR, 1096 .addr = VT1724_MT_PDMA1_ADDR,
1097 .size = VT1724_MT_PDMA1_SIZE, 1097 .size = VT1724_MT_PDMA1_SIZE,
@@ -1137,7 +1137,7 @@ static int snd_vt1724_playback_indep_open(struct snd_pcm_substream *substream)
1137 return -EBUSY; /* FIXME: should handle blocking mode properly */ 1137 return -EBUSY; /* FIXME: should handle blocking mode properly */
1138 } 1138 }
1139 mutex_unlock(&ice->open_mutex); 1139 mutex_unlock(&ice->open_mutex);
1140 runtime->private_data = &vt1724_playback_dma_regs[substream->number]; 1140 runtime->private_data = (void *)&vt1724_playback_dma_regs[substream->number];
1141 ice->playback_con_substream_ds[substream->number] = substream; 1141 ice->playback_con_substream_ds[substream->number] = substream;
1142 runtime->hw = snd_vt1724_2ch_stereo; 1142 runtime->hw = snd_vt1724_2ch_stereo;
1143 snd_pcm_set_sync(substream); 1143 snd_pcm_set_sync(substream);
@@ -1318,7 +1318,7 @@ static int snd_vt1724_eeprom_get(struct snd_kcontrol *kcontrol,
1318 return 0; 1318 return 0;
1319} 1319}
1320 1320
1321static struct snd_kcontrol_new snd_vt1724_eeprom __devinitdata = { 1321static const struct snd_kcontrol_new snd_vt1724_eeprom __devinitdata = {
1322 .iface = SNDRV_CTL_ELEM_IFACE_CARD, 1322 .iface = SNDRV_CTL_ELEM_IFACE_CARD,
1323 .name = "ICE1724 EEPROM", 1323 .name = "ICE1724 EEPROM",
1324 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1324 .access = SNDRV_CTL_ELEM_ACCESS_READ,
@@ -1431,7 +1431,7 @@ static int snd_vt1724_spdif_default_put(struct snd_kcontrol *kcontrol,
1431 return (val != old); 1431 return (val != old);
1432} 1432}
1433 1433
1434static struct snd_kcontrol_new snd_vt1724_spdif_default __devinitdata = 1434static const struct snd_kcontrol_new snd_vt1724_spdif_default __devinitdata =
1435{ 1435{
1436 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1436 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
1437 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT), 1437 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,DEFAULT),
@@ -1463,7 +1463,7 @@ static int snd_vt1724_spdif_maskp_get(struct snd_kcontrol *kcontrol,
1463 return 0; 1463 return 0;
1464} 1464}
1465 1465
1466static struct snd_kcontrol_new snd_vt1724_spdif_maskc __devinitdata = 1466static const struct snd_kcontrol_new snd_vt1724_spdif_maskc __devinitdata =
1467{ 1467{
1468 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1468 .access = SNDRV_CTL_ELEM_ACCESS_READ,
1469 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1469 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
@@ -1472,7 +1472,7 @@ static struct snd_kcontrol_new snd_vt1724_spdif_maskc __devinitdata =
1472 .get = snd_vt1724_spdif_maskc_get, 1472 .get = snd_vt1724_spdif_maskc_get,
1473}; 1473};
1474 1474
1475static struct snd_kcontrol_new snd_vt1724_spdif_maskp __devinitdata = 1475static const struct snd_kcontrol_new snd_vt1724_spdif_maskp __devinitdata =
1476{ 1476{
1477 .access = SNDRV_CTL_ELEM_ACCESS_READ, 1477 .access = SNDRV_CTL_ELEM_ACCESS_READ,
1478 .iface = SNDRV_CTL_ELEM_IFACE_PCM, 1478 .iface = SNDRV_CTL_ELEM_IFACE_PCM,
@@ -1517,7 +1517,7 @@ static int snd_vt1724_spdif_sw_put(struct snd_kcontrol *kcontrol,
1517 return old != val; 1517 return old != val;
1518} 1518}
1519 1519
1520static struct snd_kcontrol_new snd_vt1724_spdif_switch __devinitdata = 1520static const struct snd_kcontrol_new snd_vt1724_spdif_switch __devinitdata =
1521{ 1521{
1522 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1522 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1523 /* FIXME: the following conflict with IEC958 Playback Route */ 1523 /* FIXME: the following conflict with IEC958 Playback Route */
@@ -1585,7 +1585,7 @@ int snd_ice1712_gpio_put(struct snd_kcontrol *kcontrol,
1585static int snd_vt1724_pro_internal_clock_info(struct snd_kcontrol *kcontrol, 1585static int snd_vt1724_pro_internal_clock_info(struct snd_kcontrol *kcontrol,
1586 struct snd_ctl_elem_info *uinfo) 1586 struct snd_ctl_elem_info *uinfo)
1587{ 1587{
1588 static char *texts_1724[] = { 1588 static const char * const texts_1724[] = {
1589 "8000", /* 0: 6 */ 1589 "8000", /* 0: 6 */
1590 "9600", /* 1: 3 */ 1590 "9600", /* 1: 3 */
1591 "11025", /* 2: 10 */ 1591 "11025", /* 2: 10 */
@@ -1603,7 +1603,7 @@ static int snd_vt1724_pro_internal_clock_info(struct snd_kcontrol *kcontrol,
1603 "192000", /* 14: 14 */ 1603 "192000", /* 14: 14 */
1604 "IEC958 Input", /* 15: -- */ 1604 "IEC958 Input", /* 15: -- */
1605 }; 1605 };
1606 static char *texts_1720[] = { 1606 static const char * const texts_1720[] = {
1607 "8000", /* 0: 6 */ 1607 "8000", /* 0: 6 */
1608 "9600", /* 1: 3 */ 1608 "9600", /* 1: 3 */
1609 "11025", /* 2: 10 */ 1609 "11025", /* 2: 10 */
@@ -1636,7 +1636,7 @@ static int snd_vt1724_pro_internal_clock_get(struct snd_kcontrol *kcontrol,
1636 struct snd_ctl_elem_value *ucontrol) 1636 struct snd_ctl_elem_value *ucontrol)
1637{ 1637{
1638 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); 1638 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
1639 static unsigned char xlate[16] = { 1639 static const unsigned char xlate[16] = {
1640 9, 6, 3, 1, 7, 4, 0, 12, 8, 5, 2, 11, 13, 255, 14, 10 1640 9, 6, 3, 1, 7, 4, 0, 12, 8, 5, 2, 11, 13, 255, 14, 10
1641 }; 1641 };
1642 unsigned char val; 1642 unsigned char val;
@@ -1695,7 +1695,7 @@ static int snd_vt1724_pro_internal_clock_put(struct snd_kcontrol *kcontrol,
1695 return change; 1695 return change;
1696} 1696}
1697 1697
1698static struct snd_kcontrol_new snd_vt1724_pro_internal_clock __devinitdata = { 1698static const struct snd_kcontrol_new snd_vt1724_pro_internal_clock __devinitdata = {
1699 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1699 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1700 .name = "Multi Track Internal Clock", 1700 .name = "Multi Track Internal Clock",
1701 .info = snd_vt1724_pro_internal_clock_info, 1701 .info = snd_vt1724_pro_internal_clock_info,
@@ -1734,7 +1734,7 @@ static int snd_vt1724_pro_rate_locking_put(struct snd_kcontrol *kcontrol,
1734 return change; 1734 return change;
1735} 1735}
1736 1736
1737static struct snd_kcontrol_new snd_vt1724_pro_rate_locking __devinitdata = { 1737static const struct snd_kcontrol_new snd_vt1724_pro_rate_locking __devinitdata = {
1738 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1738 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1739 .name = "Multi Track Rate Locking", 1739 .name = "Multi Track Rate Locking",
1740 .info = snd_vt1724_pro_rate_locking_info, 1740 .info = snd_vt1724_pro_rate_locking_info,
@@ -1773,7 +1773,7 @@ static int snd_vt1724_pro_rate_reset_put(struct snd_kcontrol *kcontrol,
1773 return change; 1773 return change;
1774} 1774}
1775 1775
1776static struct snd_kcontrol_new snd_vt1724_pro_rate_reset __devinitdata = { 1776static const struct snd_kcontrol_new snd_vt1724_pro_rate_reset __devinitdata = {
1777 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1777 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1778 .name = "Multi Track Rate Reset", 1778 .name = "Multi Track Rate Reset",
1779 .info = snd_vt1724_pro_rate_reset_info, 1779 .info = snd_vt1724_pro_rate_reset_info,
@@ -1817,7 +1817,7 @@ static int get_route_val(struct snd_ice1712 *ice, int shift)
1817{ 1817{
1818 unsigned long val; 1818 unsigned long val;
1819 unsigned char eitem; 1819 unsigned char eitem;
1820 static unsigned char xlate[8] = { 1820 static const unsigned char xlate[8] = {
1821 0, 255, 1, 2, 255, 255, 3, 4, 1821 0, 255, 1, 2, 255, 255, 3, 4,
1822 }; 1822 };
1823 1823
@@ -1836,7 +1836,7 @@ static int put_route_val(struct snd_ice1712 *ice, unsigned int val, int shift)
1836{ 1836{
1837 unsigned int old_val, nval; 1837 unsigned int old_val, nval;
1838 int change; 1838 int change;
1839 static unsigned char xroute[8] = { 1839 static const unsigned char xroute[8] = {
1840 0, /* PCM */ 1840 0, /* PCM */
1841 2, /* PSDIN0 Left */ 1841 2, /* PSDIN0 Left */
1842 3, /* PSDIN0 Right */ 1842 3, /* PSDIN0 Right */
@@ -1892,7 +1892,7 @@ static int snd_vt1724_pro_route_spdif_put(struct snd_kcontrol *kcontrol,
1892 digital_route_shift(idx)); 1892 digital_route_shift(idx));
1893} 1893}
1894 1894
1895static struct snd_kcontrol_new snd_vt1724_mixer_pro_analog_route __devinitdata = { 1895static const struct snd_kcontrol_new snd_vt1724_mixer_pro_analog_route __devinitdata = {
1896 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1896 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1897 .name = "H/W Playback Route", 1897 .name = "H/W Playback Route",
1898 .info = snd_vt1724_pro_route_info, 1898 .info = snd_vt1724_pro_route_info,
@@ -1900,7 +1900,7 @@ static struct snd_kcontrol_new snd_vt1724_mixer_pro_analog_route __devinitdata =
1900 .put = snd_vt1724_pro_route_analog_put, 1900 .put = snd_vt1724_pro_route_analog_put,
1901}; 1901};
1902 1902
1903static struct snd_kcontrol_new snd_vt1724_mixer_pro_spdif_route __devinitdata = { 1903static const struct snd_kcontrol_new snd_vt1724_mixer_pro_spdif_route __devinitdata = {
1904 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1904 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1905 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route", 1905 .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,NONE) "Route",
1906 .info = snd_vt1724_pro_route_info, 1906 .info = snd_vt1724_pro_route_info,
@@ -1936,7 +1936,7 @@ static int snd_vt1724_pro_peak_get(struct snd_kcontrol *kcontrol,
1936 return 0; 1936 return 0;
1937} 1937}
1938 1938
1939static struct snd_kcontrol_new snd_vt1724_mixer_pro_peak __devinitdata = { 1939static const struct snd_kcontrol_new snd_vt1724_mixer_pro_peak __devinitdata = {
1940 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 1940 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
1941 .name = "Multi Track Peak", 1941 .name = "Multi Track Peak",
1942 .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE, 1942 .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE,
@@ -1948,9 +1948,9 @@ static struct snd_kcontrol_new snd_vt1724_mixer_pro_peak __devinitdata = {
1948 * 1948 *
1949 */ 1949 */
1950 1950
1951static struct snd_ice1712_card_info no_matched __devinitdata; 1951static const struct snd_ice1712_card_info no_matched __devinitdata;
1952 1952
1953static struct snd_ice1712_card_info *card_tables[] __devinitdata = { 1953static const struct snd_ice1712_card_info *card_tables[] __devinitdata = {
1954 snd_vt1724_revo_cards, 1954 snd_vt1724_revo_cards,
1955 snd_vt1724_amp_cards, 1955 snd_vt1724_amp_cards,
1956 snd_vt1724_aureon_cards, 1956 snd_vt1724_aureon_cards,
@@ -2009,7 +2009,7 @@ static int __devinit snd_vt1724_read_eeprom(struct snd_ice1712 *ice,
2009{ 2009{
2010 const int dev = 0xa0; /* EEPROM device address */ 2010 const int dev = 0xa0; /* EEPROM device address */
2011 unsigned int i, size; 2011 unsigned int i, size;
2012 struct snd_ice1712_card_info **tbl, *c; 2012 const struct snd_ice1712_card_info **tbl, *c;
2013 2013
2014 if (! modelname || ! *modelname) { 2014 if (! modelname || ! *modelname) {
2015 ice->eeprom.subvendor = 0; 2015 ice->eeprom.subvendor = 0;
@@ -2308,7 +2308,7 @@ static int __devinit snd_vt1724_probe(struct pci_dev *pci,
2308 struct snd_card *card; 2308 struct snd_card *card;
2309 struct snd_ice1712 *ice; 2309 struct snd_ice1712 *ice;
2310 int pcm_dev = 0, err; 2310 int pcm_dev = 0, err;
2311 struct snd_ice1712_card_info **tbl, *c; 2311 const struct snd_ice1712_card_info **tbl, *c;
2312 2312
2313 if (dev >= SNDRV_CARDS) 2313 if (dev >= SNDRV_CARDS)
2314 return -ENODEV; 2314 return -ENODEV;
diff --git a/sound/pci/ice1712/juli.c b/sound/pci/ice1712/juli.c
index a7e779b7142a..4854eaf63a8a 100644
--- a/sound/pci/ice1712/juli.c
+++ b/sound/pci/ice1712/juli.c
@@ -125,7 +125,7 @@ static void juli_akm_set_rate_val(struct snd_akm4xxx *ak, unsigned int rate)
125 snd_akm4xxx_reset(ak, 0); 125 snd_akm4xxx_reset(ak, 0);
126} 126}
127 127
128static struct snd_akm4xxx akm_juli_dac __devinitdata = { 128static const struct snd_akm4xxx akm_juli_dac __devinitdata = {
129 .type = SND_AK4358, 129 .type = SND_AK4358,
130 .num_dacs = 2, 130 .num_dacs = 2,
131 .ops = { 131 .ops = {
@@ -206,7 +206,7 @@ static int __devinit juli_init(struct snd_ice1712 *ice)
206 * hence the driver needs to sets up it properly. 206 * hence the driver needs to sets up it properly.
207 */ 207 */
208 208
209static unsigned char juli_eeprom[] __devinitdata = { 209static const unsigned char juli_eeprom[] __devinitdata = {
210 [ICE_EEP2_SYSCONF] = 0x20, /* clock 512, mpu401, 1xADC, 1xDACs */ 210 [ICE_EEP2_SYSCONF] = 0x20, /* clock 512, mpu401, 1xADC, 1xDACs */
211 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 211 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
212 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */ 212 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */
@@ -223,7 +223,7 @@ static unsigned char juli_eeprom[] __devinitdata = {
223}; 223};
224 224
225/* entry point */ 225/* entry point */
226struct snd_ice1712_card_info snd_vt1724_juli_cards[] __devinitdata = { 226const struct snd_ice1712_card_info snd_vt1724_juli_cards[] __devinitdata = {
227 { 227 {
228 .subvendor = VT1724_SUBDEVICE_JULI, 228 .subvendor = VT1724_SUBDEVICE_JULI,
229 .name = "ESI Juli@", 229 .name = "ESI Juli@",
diff --git a/sound/pci/ice1712/juli.h b/sound/pci/ice1712/juli.h
index d9f8534fd92e..1b9294f8bce3 100644
--- a/sound/pci/ice1712/juli.h
+++ b/sound/pci/ice1712/juli.h
@@ -5,6 +5,6 @@
5 5
6#define VT1724_SUBDEVICE_JULI 0x31305345 /* Juli@ */ 6#define VT1724_SUBDEVICE_JULI 0x31305345 /* Juli@ */
7 7
8extern struct snd_ice1712_card_info snd_vt1724_juli_cards[]; 8extern const struct snd_ice1712_card_info snd_vt1724_juli_cards[];
9 9
10#endif /* __SOUND_JULI_H */ 10#endif /* __SOUND_JULI_H */
diff --git a/sound/pci/ice1712/phase.c b/sound/pci/ice1712/phase.c
index c7f6615d60d2..2d97ac8a07d3 100644
--- a/sound/pci/ice1712/phase.c
+++ b/sound/pci/ice1712/phase.c
@@ -71,7 +71,7 @@
71 * Logarithmic volume values for WM8770 71 * Logarithmic volume values for WM8770
72 * Computed as 20 * Log10(255 / x) 72 * Computed as 20 * Log10(255 / x)
73 */ 73 */
74static unsigned char wm_vol[256] = { 74static const unsigned char wm_vol[256] = {
75 127, 48, 42, 39, 36, 34, 33, 31, 30, 29, 28, 27, 27, 26, 25, 25, 24, 24, 23, 75 127, 48, 42, 39, 36, 34, 33, 31, 30, 29, 28, 27, 27, 26, 25, 25, 24, 24, 23,
76 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 76 23, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17,
77 17, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 77 17, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13,
@@ -89,13 +89,13 @@ static unsigned char wm_vol[256] = {
89#define WM_VOL_MAX (sizeof(wm_vol) - 1) 89#define WM_VOL_MAX (sizeof(wm_vol) - 1)
90#define WM_VOL_MUTE 0x8000 90#define WM_VOL_MUTE 0x8000
91 91
92static struct snd_akm4xxx akm_phase22 __devinitdata = { 92static const struct snd_akm4xxx akm_phase22 __devinitdata = {
93 .type = SND_AK4524, 93 .type = SND_AK4524,
94 .num_dacs = 2, 94 .num_dacs = 2,
95 .num_adcs = 2, 95 .num_adcs = 2,
96}; 96};
97 97
98static struct snd_ak4xxx_private akm_phase22_priv __devinitdata = { 98static const struct snd_ak4xxx_private akm_phase22_priv __devinitdata = {
99 .caddr = 2, 99 .caddr = 2,
100 .cif = 1, 100 .cif = 1,
101 .data_mask = 1 << 4, 101 .data_mask = 1 << 4,
@@ -152,7 +152,7 @@ static int __devinit phase22_add_controls(struct snd_ice1712 *ice)
152 return 0; 152 return 0;
153} 153}
154 154
155static unsigned char phase22_eeprom[] __devinitdata = { 155static const unsigned char phase22_eeprom[] __devinitdata = {
156 [ICE_EEP2_SYSCONF] = 0x00, /* 1xADC, 1xDACs */ 156 [ICE_EEP2_SYSCONF] = 0x00, /* 1xADC, 1xDACs */
157 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 157 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
158 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit */ 158 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit */
@@ -168,7 +168,7 @@ static unsigned char phase22_eeprom[] __devinitdata = {
168 [ICE_EEP2_GPIO_STATE2] = 0x00, 168 [ICE_EEP2_GPIO_STATE2] = 0x00,
169}; 169};
170 170
171static unsigned char phase28_eeprom[] __devinitdata = { 171static const unsigned char phase28_eeprom[] __devinitdata = {
172 [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */ 172 [ICE_EEP2_SYSCONF] = 0x0b, /* clock 512, spdif-in/ADC, 4DACs */
173 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 173 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
174 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */ 174 [ICE_EEP2_I2S] = 0xfc, /* vol, 96k, 24bit, 192k */
@@ -343,7 +343,7 @@ static int wm_master_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_
343 343
344static int __devinit phase28_init(struct snd_ice1712 *ice) 344static int __devinit phase28_init(struct snd_ice1712 *ice)
345{ 345{
346 static unsigned short wm_inits_phase28[] = { 346 static const unsigned short wm_inits_phase28[] = {
347 /* These come first to reduce init pop noise */ 347 /* These come first to reduce init pop noise */
348 0x1b, 0x044, /* ADC Mux (AC'97 source) */ 348 0x1b, 0x044, /* ADC Mux (AC'97 source) */
349 0x1c, 0x00B, /* Out Mux1 (VOUT1 = DAC+AUX, VOUT2 = DAC) */ 349 0x1c, 0x00B, /* Out Mux1 (VOUT1 = DAC+AUX, VOUT2 = DAC) */
@@ -382,7 +382,7 @@ static int __devinit phase28_init(struct snd_ice1712 *ice)
382 382
383 unsigned int tmp; 383 unsigned int tmp;
384 struct snd_akm4xxx *ak; 384 struct snd_akm4xxx *ak;
385 unsigned short *p; 385 const unsigned short *p;
386 int i; 386 int i;
387 387
388 ice->num_total_dacs = 8; 388 ice->num_total_dacs = 8;
@@ -700,7 +700,7 @@ static int phase28_oversampling_put(struct snd_kcontrol *kcontrol, struct snd_ct
700static DECLARE_TLV_DB_SCALE(db_scale_wm_dac, -12700, 100, 1); 700static DECLARE_TLV_DB_SCALE(db_scale_wm_dac, -12700, 100, 1);
701static DECLARE_TLV_DB_SCALE(db_scale_wm_pcm, -6400, 50, 1); 701static DECLARE_TLV_DB_SCALE(db_scale_wm_pcm, -6400, 50, 1);
702 702
703static struct snd_kcontrol_new phase28_dac_controls[] __devinitdata = { 703static const struct snd_kcontrol_new phase28_dac_controls[] __devinitdata = {
704 { 704 {
705 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 705 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
706 .name = "Master Playback Switch", 706 .name = "Master Playback Switch",
@@ -815,7 +815,7 @@ static struct snd_kcontrol_new phase28_dac_controls[] __devinitdata = {
815 } 815 }
816}; 816};
817 817
818static struct snd_kcontrol_new wm_controls[] __devinitdata = { 818static const struct snd_kcontrol_new wm_controls[] __devinitdata = {
819 { 819 {
820 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 820 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
821 .name = "PCM Playback Switch", 821 .name = "PCM Playback Switch",
@@ -870,7 +870,7 @@ static int __devinit phase28_add_controls(struct snd_ice1712 *ice)
870 return 0; 870 return 0;
871} 871}
872 872
873struct snd_ice1712_card_info snd_vt1724_phase_cards[] __devinitdata = { 873const struct snd_ice1712_card_info snd_vt1724_phase_cards[] __devinitdata = {
874 { 874 {
875 .subvendor = VT1724_SUBDEVICE_PHASE22, 875 .subvendor = VT1724_SUBDEVICE_PHASE22,
876 .name = "Terratec PHASE 22", 876 .name = "Terratec PHASE 22",
diff --git a/sound/pci/ice1712/phase.h b/sound/pci/ice1712/phase.h
index 13e841b55488..ad379a99bf92 100644
--- a/sound/pci/ice1712/phase.h
+++ b/sound/pci/ice1712/phase.h
@@ -31,7 +31,7 @@
31#define VT1724_SUBDEVICE_PHASE28 0x3b154911 31#define VT1724_SUBDEVICE_PHASE28 0x3b154911
32 32
33/* entry point */ 33/* entry point */
34extern struct snd_ice1712_card_info snd_vt1724_phase_cards[]; 34extern const struct snd_ice1712_card_info snd_vt1724_phase_cards[];
35 35
36/* PHASE28 GPIO bits */ 36/* PHASE28 GPIO bits */
37#define PHASE28_SPI_MISO (1 << 21) 37#define PHASE28_SPI_MISO (1 << 21)
diff --git a/sound/pci/ice1712/pontis.c b/sound/pci/ice1712/pontis.c
index b135c1401dc7..4c35ddecb8e6 100644
--- a/sound/pci/ice1712/pontis.c
+++ b/sound/pci/ice1712/pontis.c
@@ -434,7 +434,7 @@ static unsigned int spi_read(struct snd_ice1712 *ice, unsigned int dev, unsigned
434 */ 434 */
435static int cs_source_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) 435static int cs_source_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo)
436{ 436{
437 static char *texts[] = { 437 static const char * const texts[] = {
438 "Coax", /* RXP0 */ 438 "Coax", /* RXP0 */
439 "Optical", /* RXP1 */ 439 "Optical", /* RXP1 */
440 "CD", /* RXP2 */ 440 "CD", /* RXP2 */
@@ -571,7 +571,7 @@ static DECLARE_TLV_DB_SCALE(db_scale_volume, -6400, 50, 1);
571 * mixers 571 * mixers
572 */ 572 */
573 573
574static struct snd_kcontrol_new pontis_controls[] __devinitdata = { 574static const struct snd_kcontrol_new pontis_controls[] __devinitdata = {
575 { 575 {
576 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 576 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
577 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE | 577 .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE |
@@ -741,7 +741,7 @@ static int __devinit pontis_add_controls(struct snd_ice1712 *ice)
741 */ 741 */
742static int __devinit pontis_init(struct snd_ice1712 *ice) 742static int __devinit pontis_init(struct snd_ice1712 *ice)
743{ 743{
744 static unsigned short wm_inits[] = { 744 static const unsigned short wm_inits[] = {
745 /* These come first to reduce init pop noise */ 745 /* These come first to reduce init pop noise */
746 WM_ADC_MUX, 0x00c0, /* ADC mute */ 746 WM_ADC_MUX, 0x00c0, /* ADC mute */
747 WM_DAC_MUTE, 0x0001, /* DAC softmute */ 747 WM_DAC_MUTE, 0x0001, /* DAC softmute */
@@ -750,7 +750,7 @@ static int __devinit pontis_init(struct snd_ice1712 *ice)
750 WM_POWERDOWN, 0x0008, /* All power-up except HP */ 750 WM_POWERDOWN, 0x0008, /* All power-up except HP */
751 WM_RESET, 0x0000, /* reset */ 751 WM_RESET, 0x0000, /* reset */
752 }; 752 };
753 static unsigned short wm_inits2[] = { 753 static const unsigned short wm_inits2[] = {
754 WM_MASTER_CTRL, 0x0022, /* 256fs, slave mode */ 754 WM_MASTER_CTRL, 0x0022, /* 256fs, slave mode */
755 WM_DAC_INT, 0x0022, /* I2S, normal polarity, 24bit */ 755 WM_DAC_INT, 0x0022, /* I2S, normal polarity, 24bit */
756 WM_ADC_INT, 0x0022, /* I2S, normal polarity, 24bit */ 756 WM_ADC_INT, 0x0022, /* I2S, normal polarity, 24bit */
@@ -776,7 +776,7 @@ static int __devinit pontis_init(struct snd_ice1712 *ice)
776 WM_DAC_MUTE, 0x0000, /* DAC unmute */ 776 WM_DAC_MUTE, 0x0000, /* DAC unmute */
777 WM_ADC_MUX, 0x0003, /* ADC unmute, both CD/Line On */ 777 WM_ADC_MUX, 0x0003, /* ADC unmute, both CD/Line On */
778 }; 778 };
779 static unsigned char cs_inits[] = { 779 static const unsigned char cs_inits[] = {
780 0x04, 0x80, /* RUN, RXP0 */ 780 0x04, 0x80, /* RUN, RXP0 */
781 0x05, 0x05, /* slave, 24bit */ 781 0x05, 0x05, /* slave, 24bit */
782 0x01, 0x00, 782 0x01, 0x00,
@@ -826,7 +826,7 @@ static int __devinit pontis_init(struct snd_ice1712 *ice)
826 * hence the driver needs to sets up it properly. 826 * hence the driver needs to sets up it properly.
827 */ 827 */
828 828
829static unsigned char pontis_eeprom[] __devinitdata = { 829static const unsigned char pontis_eeprom[] __devinitdata = {
830 [ICE_EEP2_SYSCONF] = 0x08, /* clock 256, mpu401, spdif-in/ADC, 1DAC */ 830 [ICE_EEP2_SYSCONF] = 0x08, /* clock 256, mpu401, spdif-in/ADC, 1DAC */
831 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 831 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
832 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */ 832 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */
@@ -843,7 +843,7 @@ static unsigned char pontis_eeprom[] __devinitdata = {
843}; 843};
844 844
845/* entry point */ 845/* entry point */
846struct snd_ice1712_card_info snd_vt1720_pontis_cards[] __devinitdata = { 846const struct snd_ice1712_card_info snd_vt1720_pontis_cards[] __devinitdata = {
847 { 847 {
848 .subvendor = VT1720_SUBDEVICE_PONTIS_MS300, 848 .subvendor = VT1720_SUBDEVICE_PONTIS_MS300,
849 .name = "Pontis MS300", 849 .name = "Pontis MS300",
diff --git a/sound/pci/ice1712/pontis.h b/sound/pci/ice1712/pontis.h
index d0d1378b935c..1a418255c19e 100644
--- a/sound/pci/ice1712/pontis.h
+++ b/sound/pci/ice1712/pontis.h
@@ -28,6 +28,6 @@
28 28
29#define VT1720_SUBDEVICE_PONTIS_MS300 0x00020002 /* a dummy id for MS300 */ 29#define VT1720_SUBDEVICE_PONTIS_MS300 0x00020002 /* a dummy id for MS300 */
30 30
31extern struct snd_ice1712_card_info snd_vt1720_pontis_cards[]; 31extern const struct snd_ice1712_card_info snd_vt1720_pontis_cards[];
32 32
33#endif /* __SOUND_PONTIS_H */ 33#endif /* __SOUND_PONTIS_H */
diff --git a/sound/pci/ice1712/prodigy192.c b/sound/pci/ice1712/prodigy192.c
index b9b63179dbec..d551e71c67ca 100644
--- a/sound/pci/ice1712/prodigy192.c
+++ b/sound/pci/ice1712/prodigy192.c
@@ -364,7 +364,7 @@ static DECLARE_TLV_DB_SCALE(db_scale_adc, 0, 150, 0);
364 * mixers 364 * mixers
365 */ 365 */
366 366
367static struct snd_kcontrol_new stac_controls[] __devinitdata = { 367static const struct snd_kcontrol_new stac_controls[] __devinitdata = {
368 { 368 {
369 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 369 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
370 .name = "Master Playback Switch", 370 .name = "Master Playback Switch",
@@ -475,7 +475,7 @@ static int __devinit prodigy192_add_controls(struct snd_ice1712 *ice)
475 */ 475 */
476static int __devinit prodigy192_init(struct snd_ice1712 *ice) 476static int __devinit prodigy192_init(struct snd_ice1712 *ice)
477{ 477{
478 static unsigned short stac_inits_prodigy[] = { 478 static const unsigned short stac_inits_prodigy[] = {
479 STAC946X_RESET, 0, 479 STAC946X_RESET, 0,
480/* STAC946X_MASTER_VOLUME, 0, 480/* STAC946X_MASTER_VOLUME, 0,
481 STAC946X_LF_VOLUME, 0, 481 STAC946X_LF_VOLUME, 0,
@@ -486,7 +486,7 @@ static int __devinit prodigy192_init(struct snd_ice1712 *ice)
486 STAC946X_LFE_VOLUME, 0,*/ 486 STAC946X_LFE_VOLUME, 0,*/
487 (unsigned short)-1 487 (unsigned short)-1
488 }; 488 };
489 unsigned short *p; 489 const unsigned short *p;
490 490
491 /* prodigy 192 */ 491 /* prodigy 192 */
492 ice->num_total_dacs = 6; 492 ice->num_total_dacs = 6;
@@ -506,7 +506,7 @@ static int __devinit prodigy192_init(struct snd_ice1712 *ice)
506 * hence the driver needs to sets up it properly. 506 * hence the driver needs to sets up it properly.
507 */ 507 */
508 508
509static unsigned char prodigy71_eeprom[] __devinitdata = { 509static const unsigned char prodigy71_eeprom[] __devinitdata = {
510 [ICE_EEP2_SYSCONF] = 0x2b, /* clock 512, mpu401, spdif-in/ADC, 4DACs */ 510 [ICE_EEP2_SYSCONF] = 0x2b, /* clock 512, mpu401, spdif-in/ADC, 4DACs */
511 [ICE_EEP2_ACLINK] = 0x80, /* I2S */ 511 [ICE_EEP2_ACLINK] = 0x80, /* I2S */
512 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */ 512 [ICE_EEP2_I2S] = 0xf8, /* vol, 96k, 24bit, 192k */
@@ -524,7 +524,7 @@ static unsigned char prodigy71_eeprom[] __devinitdata = {
524 524
525 525
526/* entry point */ 526/* entry point */
527struct snd_ice1712_card_info snd_vt1724_prodigy192_cards[] __devinitdata = { 527const struct snd_ice1712_card_info snd_vt1724_prodigy192_cards[] __devinitdata = {
528 { 528 {
529 .subvendor = VT1724_SUBDEVICE_PRODIGY192VE, 529 .subvendor = VT1724_SUBDEVICE_PRODIGY192VE,
530 .name = "Audiotrak Prodigy 192", 530 .name = "Audiotrak Prodigy 192",
diff --git a/sound/pci/ice1712/prodigy192.h b/sound/pci/ice1712/prodigy192.h
index 94c824e24e06..2fa2e62b9e04 100644
--- a/sound/pci/ice1712/prodigy192.h
+++ b/sound/pci/ice1712/prodigy192.h
@@ -6,6 +6,6 @@
6 6
7#define VT1724_SUBDEVICE_PRODIGY192VE 0x34495345 /* PRODIGY 192 VE */ 7#define VT1724_SUBDEVICE_PRODIGY192VE 0x34495345 /* PRODIGY 192 VE */
8 8
9extern struct snd_ice1712_card_info snd_vt1724_prodigy192_cards[]; 9extern const struct snd_ice1712_card_info snd_vt1724_prodigy192_cards[];
10 10
11#endif /* __SOUND_PRODIGY192_H */ 11#endif /* __SOUND_PRODIGY192_H */
diff --git a/sound/pci/ice1712/revo.c b/sound/pci/ice1712/revo.c
index 0e578aa38af2..7d3bccbf0313 100644
--- a/sound/pci/ice1712/revo.c
+++ b/sound/pci/ice1712/revo.c
@@ -228,7 +228,7 @@ static struct snd_akm4xxx akm_revo_front __devinitdata = {
228 .dac_info = revo71_front, 228 .dac_info = revo71_front,
229}; 229};
230 230
231static struct snd_ak4xxx_private akm_revo_front_priv __devinitdata = { 231static const struct snd_ak4xxx_private akm_revo_front_priv __devinitdata = {
232 .caddr = 1, 232 .caddr = 1,
233 .cif = 0, 233 .cif = 0,
234 .data_mask = VT1724_REVO_CDOUT, 234 .data_mask = VT1724_REVO_CDOUT,
@@ -240,7 +240,7 @@ static struct snd_ak4xxx_private akm_revo_front_priv __devinitdata = {
240 .mask_flags = 0, 240 .mask_flags = 0,
241}; 241};
242 242
243static struct snd_akm4xxx akm_revo_surround __devinitdata = { 243static const struct snd_akm4xxx akm_revo_surround __devinitdata = {
244 .type = SND_AK4355, 244 .type = SND_AK4355,
245 .idx_offset = 1, 245 .idx_offset = 1,
246 .num_dacs = 6, 246 .num_dacs = 6,
@@ -250,7 +250,7 @@ static struct snd_akm4xxx akm_revo_surround __devinitdata = {
250 .dac_info = revo71_surround, 250 .dac_info = revo71_surround,
251}; 251};
252 252
253static struct snd_ak4xxx_private akm_revo_surround_priv __devinitdata = { 253static const struct snd_ak4xxx_private akm_revo_surround_priv __devinitdata = {
254 .caddr = 3, 254 .caddr = 3,
255 .cif = 0, 255 .cif = 0,
256 .data_mask = VT1724_REVO_CDOUT, 256 .data_mask = VT1724_REVO_CDOUT,
@@ -262,7 +262,7 @@ static struct snd_ak4xxx_private akm_revo_surround_priv __devinitdata = {
262 .mask_flags = 0, 262 .mask_flags = 0,
263}; 263};
264 264
265static struct snd_akm4xxx akm_revo51 __devinitdata = { 265static const struct snd_akm4xxx akm_revo51 __devinitdata = {
266 .type = SND_AK4358, 266 .type = SND_AK4358,
267 .num_dacs = 6, 267 .num_dacs = 6,
268 .ops = { 268 .ops = {
@@ -271,7 +271,7 @@ static struct snd_akm4xxx akm_revo51 __devinitdata = {
271 .dac_info = revo51_dac, 271 .dac_info = revo51_dac,
272}; 272};
273 273
274static struct snd_ak4xxx_private akm_revo51_priv __devinitdata = { 274static const struct snd_ak4xxx_private akm_revo51_priv __devinitdata = {
275 .caddr = 2, 275 .caddr = 2,
276 .cif = 0, 276 .cif = 0,
277 .data_mask = VT1724_REVO_CDOUT, 277 .data_mask = VT1724_REVO_CDOUT,
@@ -283,13 +283,13 @@ static struct snd_ak4xxx_private akm_revo51_priv __devinitdata = {
283 .mask_flags = 0, 283 .mask_flags = 0,
284}; 284};
285 285
286static struct snd_akm4xxx akm_revo51_adc __devinitdata = { 286static const struct snd_akm4xxx akm_revo51_adc __devinitdata = {
287 .type = SND_AK5365, 287 .type = SND_AK5365,
288 .num_adcs = 2, 288 .num_adcs = 2,
289 .adc_info = revo51_adc, 289 .adc_info = revo51_adc,
290}; 290};
291 291
292static struct snd_ak4xxx_private akm_revo51_adc_priv __devinitdata = { 292static const struct snd_ak4xxx_private akm_revo51_adc_priv __devinitdata = {
293 .caddr = 2, 293 .caddr = 2,
294 .cif = 0, 294 .cif = 0,
295 .data_mask = VT1724_REVO_CDOUT, 295 .data_mask = VT1724_REVO_CDOUT,
@@ -333,7 +333,7 @@ static struct snd_akm4xxx akm_ap192 __devinitdata = {
333 .dac_info = ap192_dac, 333 .dac_info = ap192_dac,
334}; 334};
335 335
336static struct snd_ak4xxx_private akm_ap192_priv __devinitdata = { 336static const struct snd_ak4xxx_private akm_ap192_priv __devinitdata = {
337 .caddr = 2, 337 .caddr = 2,
338 .cif = 0, 338 .cif = 0,
339 .data_mask = VT1724_REVO_CDOUT, 339 .data_mask = VT1724_REVO_CDOUT,
@@ -456,7 +456,7 @@ static unsigned char ap192_ak4114_read(void *private_data, unsigned char addr)
456 456
457static int ap192_ak4114_init(struct snd_ice1712 *ice) 457static int ap192_ak4114_init(struct snd_ice1712 *ice)
458{ 458{
459 static unsigned char ak4114_init_vals[] = { 459 static const unsigned char ak4114_init_vals[] = {
460 AK4114_RST | AK4114_PWN | AK4114_OCKS0 | AK4114_OCKS1, 460 AK4114_RST | AK4114_PWN | AK4114_OCKS0 | AK4114_OCKS1,
461 AK4114_DIF_I24I2S, 461 AK4114_DIF_I24I2S,
462 AK4114_TX1E, 462 AK4114_TX1E,
@@ -464,7 +464,7 @@ static int ap192_ak4114_init(struct snd_ice1712 *ice)
464 0, 464 0,
465 0 465 0
466 }; 466 };
467 static unsigned char ak4114_init_txcsb[] = { 467 static const unsigned char ak4114_init_txcsb[] = {
468 0x41, 0x02, 0x2c, 0x00, 0x00 468 0x41, 0x02, 0x2c, 0x00, 0x00
469 }; 469 };
470 struct ak4114 *ak; 470 struct ak4114 *ak;
@@ -582,7 +582,7 @@ static int __devinit revo_add_controls(struct snd_ice1712 *ice)
582} 582}
583 583
584/* entry point */ 584/* entry point */
585struct snd_ice1712_card_info snd_vt1724_revo_cards[] __devinitdata = { 585const struct snd_ice1712_card_info snd_vt1724_revo_cards[] __devinitdata = {
586 { 586 {
587 .subvendor = VT1724_SUBDEVICE_REVOLUTION71, 587 .subvendor = VT1724_SUBDEVICE_REVOLUTION71,
588 .name = "M Audio Revolution-7.1", 588 .name = "M Audio Revolution-7.1",
diff --git a/sound/pci/ice1712/revo.h b/sound/pci/ice1712/revo.h
index a3ba425911cc..2a24488fad80 100644
--- a/sound/pci/ice1712/revo.h
+++ b/sound/pci/ice1712/revo.h
@@ -34,7 +34,7 @@
34#define VT1724_SUBDEVICE_AUDIOPHILE192 0x12143236 34#define VT1724_SUBDEVICE_AUDIOPHILE192 0x12143236
35 35
36/* entry point */ 36/* entry point */
37extern struct snd_ice1712_card_info snd_vt1724_revo_cards[]; 37extern const struct snd_ice1712_card_info snd_vt1724_revo_cards[];
38 38
39 39
40/* 40/*
diff --git a/sound/pci/ice1712/vt1720_mobo.c b/sound/pci/ice1712/vt1720_mobo.c
index 239524158fe7..72b060d63c29 100644
--- a/sound/pci/ice1712/vt1720_mobo.c
+++ b/sound/pci/ice1712/vt1720_mobo.c
@@ -56,7 +56,7 @@ static int __devinit k8x800_add_controls(struct snd_ice1712 *ice)
56 56
57/* EEPROM image */ 57/* EEPROM image */
58 58
59static unsigned char k8x800_eeprom[] __devinitdata = { 59static const unsigned char k8x800_eeprom[] __devinitdata = {
60 [ICE_EEP2_SYSCONF] = 0x01, /* clock 256, 1ADC, 2DACs */ 60 [ICE_EEP2_SYSCONF] = 0x01, /* clock 256, 1ADC, 2DACs */
61 [ICE_EEP2_ACLINK] = 0x02, /* ACLINK, packed */ 61 [ICE_EEP2_ACLINK] = 0x02, /* ACLINK, packed */
62 [ICE_EEP2_I2S] = 0x00, /* - */ 62 [ICE_EEP2_I2S] = 0x00, /* - */
@@ -72,7 +72,7 @@ static unsigned char k8x800_eeprom[] __devinitdata = {
72 [ICE_EEP2_GPIO_STATE2] = 0x00, /* - */ 72 [ICE_EEP2_GPIO_STATE2] = 0x00, /* - */
73}; 73};
74 74
75static unsigned char sn25p_eeprom[] __devinitdata = { 75static const unsigned char sn25p_eeprom[] __devinitdata = {
76 [ICE_EEP2_SYSCONF] = 0x01, /* clock 256, 1ADC, 2DACs */ 76 [ICE_EEP2_SYSCONF] = 0x01, /* clock 256, 1ADC, 2DACs */
77 [ICE_EEP2_ACLINK] = 0x02, /* ACLINK, packed */ 77 [ICE_EEP2_ACLINK] = 0x02, /* ACLINK, packed */
78 [ICE_EEP2_I2S] = 0x00, /* - */ 78 [ICE_EEP2_I2S] = 0x00, /* - */
@@ -90,7 +90,7 @@ static unsigned char sn25p_eeprom[] __devinitdata = {
90 90
91 91
92/* entry point */ 92/* entry point */
93struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = { 93const struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata = {
94 { 94 {
95 .subvendor = VT1720_SUBDEVICE_K8X800, 95 .subvendor = VT1720_SUBDEVICE_K8X800,
96 .name = "Albatron K8X800 Pro II", 96 .name = "Albatron K8X800 Pro II",
diff --git a/sound/pci/ice1712/vt1720_mobo.h b/sound/pci/ice1712/vt1720_mobo.h
index 0b1b0ee1bea7..70af3ad64a5d 100644
--- a/sound/pci/ice1712/vt1720_mobo.h
+++ b/sound/pci/ice1712/vt1720_mobo.h
@@ -36,6 +36,6 @@
36#define VT1720_SUBDEVICE_9CJS 0x0f272327 36#define VT1720_SUBDEVICE_9CJS 0x0f272327
37#define VT1720_SUBDEVICE_SN25P 0x97123650 37#define VT1720_SUBDEVICE_SN25P 0x97123650
38 38
39extern struct snd_ice1712_card_info snd_vt1720_mobo_cards[]; 39extern const struct snd_ice1712_card_info snd_vt1720_mobo_cards[];
40 40
41#endif /* __SOUND_VT1720_MOBO_H */ 41#endif /* __SOUND_VT1720_MOBO_H */
diff --git a/sound/pci/ice1712/wtm.c b/sound/pci/ice1712/wtm.c
index 04e535c8542b..4a706b16a0b9 100644
--- a/sound/pci/ice1712/wtm.c
+++ b/sound/pci/ice1712/wtm.c
@@ -409,7 +409,7 @@ static int stac9460_mic_sw_put(struct snd_kcontrol *kcontrol,
409/* 409/*
410 * Control tabs 410 * Control tabs
411 */ 411 */
412static struct snd_kcontrol_new stac9640_controls[] __devinitdata = { 412static const struct snd_kcontrol_new stac9640_controls[] __devinitdata = {
413 { 413 {
414 .iface = SNDRV_CTL_ELEM_IFACE_MIXER, 414 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
415 .name = "Master Playback Switch", 415 .name = "Master Playback Switch",