Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge remote-tracking branches 'asoc/fix/ab8500', 'asoc/fix/adau17x1', 'asoc/fix/adsp', 'asoc/fix/cs42l51', 'asoc/fix/da732x' and 'asoc/fix/fsl-ssi' into asoc-linus

+39 -41
+4 -4
sound/soc/codecs/ab8500-codec.c
··· 1130 1130 struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(codec->dev); 1131 1131 1132 1132 mutex_lock(&drvdata->ctrl_lock); 1133 - ucontrol->value.integer.value[0] = drvdata->sid_status; 1133 + ucontrol->value.enumerated.item[0] = drvdata->sid_status; 1134 1134 mutex_unlock(&drvdata->ctrl_lock); 1135 1135 1136 1136 return 0; ··· 1147 1147 1148 1148 dev_dbg(codec->dev, "%s: Enter\n", __func__); 1149 1149 1150 - if (ucontrol->value.integer.value[0] != SID_APPLY_FIR) { 1150 + if (ucontrol->value.enumerated.item[0] != SID_APPLY_FIR) { 1151 1151 dev_err(codec->dev, 1152 1152 "%s: ERROR: This control supports '%s' only!\n", 1153 1153 __func__, enum_sid_state[SID_APPLY_FIR]); ··· 1199 1199 struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(codec->dev); 1200 1200 1201 1201 mutex_lock(&drvdata->ctrl_lock); 1202 - ucontrol->value.integer.value[0] = drvdata->anc_status; 1202 + ucontrol->value.enumerated.item[0] = drvdata->anc_status; 1203 1203 mutex_unlock(&drvdata->ctrl_lock); 1204 1204 1205 1205 return 0; ··· 1220 1220 1221 1221 mutex_lock(&drvdata->ctrl_lock); 1222 1222 1223 - req = ucontrol->value.integer.value[0]; 1223 + req = ucontrol->value.enumerated.item[0]; 1224 1224 if (req >= ARRAY_SIZE(enum_anc_state)) { 1225 1225 status = -EINVAL; 1226 1226 goto cleanup;
+3 -3
sound/soc/codecs/adau17x1.h
··· 103 103 #define ADAU17X1_CLOCK_CONTROL_CORECLK_SRC_PLL BIT(3) 104 104 #define ADAU17X1_CLOCK_CONTROL_SYSCLK_EN BIT(0) 105 105 106 - #define ADAU17X1_SERIAL_PORT1_BCLK32 (0x0 << 5) 107 - #define ADAU17X1_SERIAL_PORT1_BCLK48 (0x1 << 5) 108 - #define ADAU17X1_SERIAL_PORT1_BCLK64 (0x2 << 5) 106 + #define ADAU17X1_SERIAL_PORT1_BCLK64 (0x0 << 5) 107 + #define ADAU17X1_SERIAL_PORT1_BCLK32 (0x1 << 5) 108 + #define ADAU17X1_SERIAL_PORT1_BCLK48 (0x2 << 5) 109 109 #define ADAU17X1_SERIAL_PORT1_BCLK128 (0x3 << 5) 110 110 #define ADAU17X1_SERIAL_PORT1_BCLK256 (0x4 << 5) 111 111 #define ADAU17X1_SERIAL_PORT1_BCLK_MASK (0x7 << 5)
+4 -4
sound/soc/codecs/cs42l51.c
··· 60 60 switch (value) { 61 61 default: 62 62 case 0: 63 - ucontrol->value.integer.value[0] = 0; 63 + ucontrol->value.enumerated.item[0] = 0; 64 64 break; 65 65 /* same value : (L+R)/2 and (R+L)/2 */ 66 66 case 1: 67 67 case 2: 68 - ucontrol->value.integer.value[0] = 1; 68 + ucontrol->value.enumerated.item[0] = 1; 69 69 break; 70 70 case 3: 71 - ucontrol->value.integer.value[0] = 2; 71 + ucontrol->value.enumerated.item[0] = 2; 72 72 break; 73 73 } 74 74 ··· 85 85 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 86 86 unsigned char val; 87 87 88 - switch (ucontrol->value.integer.value[0]) { 88 + switch (ucontrol->value.enumerated.item[0]) { 89 89 default: 90 90 case 0: 91 91 val = CHAN_MIX_NORMAL;
+4 -4
sound/soc/codecs/da732x.c
··· 334 334 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); 335 335 struct soc_enum *enum_ctrl = (struct soc_enum *)kcontrol->private_value; 336 336 unsigned int reg = enum_ctrl->reg; 337 - unsigned int sel = ucontrol->value.integer.value[0]; 337 + unsigned int sel = ucontrol->value.enumerated.item[0]; 338 338 unsigned int bits; 339 339 340 340 switch (sel) { ··· 368 368 369 369 switch (val) { 370 370 case DA732X_HPF_VOICE_EN: 371 - ucontrol->value.integer.value[0] = DA732X_HPF_VOICE; 371 + ucontrol->value.enumerated.item[0] = DA732X_HPF_VOICE; 372 372 break; 373 373 case DA732X_HPF_MUSIC_EN: 374 - ucontrol->value.integer.value[0] = DA732X_HPF_MUSIC; 374 + ucontrol->value.enumerated.item[0] = DA732X_HPF_MUSIC; 375 375 break; 376 376 default: 377 - ucontrol->value.integer.value[0] = DA732X_HPF_DISABLED; 377 + ucontrol->value.enumerated.item[0] = DA732X_HPF_DISABLED; 378 378 break; 379 379 } 380 380
+4 -4
sound/soc/codecs/wm_adsp.c
··· 586 586 struct soc_enum *e = (struct soc_enum *)kcontrol->private_value; 587 587 struct wm_adsp *dsp = snd_soc_codec_get_drvdata(codec); 588 588 589 - ucontrol->value.integer.value[0] = dsp[e->shift_l].fw; 589 + ucontrol->value.enumerated.item[0] = dsp[e->shift_l].fw; 590 590 591 591 return 0; 592 592 } ··· 599 599 struct wm_adsp *dsp = snd_soc_codec_get_drvdata(codec); 600 600 int ret = 0; 601 601 602 - if (ucontrol->value.integer.value[0] == dsp[e->shift_l].fw) 602 + if (ucontrol->value.enumerated.item[0] == dsp[e->shift_l].fw) 603 603 return 0; 604 604 605 - if (ucontrol->value.integer.value[0] >= WM_ADSP_NUM_FW) 605 + if (ucontrol->value.enumerated.item[0] >= WM_ADSP_NUM_FW) 606 606 return -EINVAL; 607 607 608 608 mutex_lock(&dsp[e->shift_l].pwr_lock); ··· 610 610 if (dsp[e->shift_l].running || dsp[e->shift_l].compr) 611 611 ret = -EBUSY; 612 612 else 613 - dsp[e->shift_l].fw = ucontrol->value.integer.value[0]; 613 + dsp[e->shift_l].fw = ucontrol->value.enumerated.item[0]; 614 614 615 615 mutex_unlock(&dsp[e->shift_l].pwr_lock); 616 616
+20 -22
sound/soc/fsl/fsl_ssi.c
··· 112 112 struct fsl_ssi_reg_val tx; 113 113 }; 114 114 115 + static const struct reg_default fsl_ssi_reg_defaults[] = { 116 + {CCSR_SSI_SCR, 0x00000000}, 117 + {CCSR_SSI_SIER, 0x00003003}, 118 + {CCSR_SSI_STCR, 0x00000200}, 119 + {CCSR_SSI_SRCR, 0x00000200}, 120 + {CCSR_SSI_STCCR, 0x00040000}, 121 + {CCSR_SSI_SRCCR, 0x00040000}, 122 + {CCSR_SSI_SACNT, 0x00000000}, 123 + {CCSR_SSI_STMSK, 0x00000000}, 124 + {CCSR_SSI_SRMSK, 0x00000000}, 125 + {CCSR_SSI_SACCEN, 0x00000000}, 126 + {CCSR_SSI_SACCDIS, 0x00000000}, 127 + }; 128 + 115 129 static bool fsl_ssi_readable_reg(struct device *dev, unsigned int reg) 116 130 { 117 131 switch (reg) { ··· 190 176 .val_bits = 32, 191 177 .reg_stride = 4, 192 178 .val_format_endian = REGMAP_ENDIAN_NATIVE, 193 - .num_reg_defaults_raw = CCSR_SSI_SACCDIS / sizeof(uint32_t) + 1, 179 + .reg_defaults = fsl_ssi_reg_defaults, 180 + .num_reg_defaults = ARRAY_SIZE(fsl_ssi_reg_defaults), 194 181 .readable_reg = fsl_ssi_readable_reg, 195 182 .volatile_reg = fsl_ssi_volatile_reg, 196 183 .precious_reg = fsl_ssi_precious_reg, ··· 201 186 202 187 struct fsl_ssi_soc_data { 203 188 bool imx; 204 - bool imx21regs; /* imx21-class SSI - no SACC{ST,EN,DIS} regs */ 205 189 bool offline_config; 206 190 u32 sisr_write_mask; 207 191 }; ··· 303 289 304 290 static struct fsl_ssi_soc_data fsl_ssi_imx21 = { 305 291 .imx = true, 306 - .imx21regs = true, 307 292 .offline_config = true, 308 293 .sisr_write_mask = 0, 309 294 }; ··· 586 573 */ 587 574 regmap_write(regs, CCSR_SSI_SACNT, 588 575 CCSR_SSI_SACNT_AC97EN | CCSR_SSI_SACNT_FV); 589 - 590 - /* no SACC{ST,EN,DIS} regs on imx21-class SSI */ 591 - if (!ssi_private->soc->imx21regs) { 592 - regmap_write(regs, CCSR_SSI_SACCDIS, 0xff); 593 - regmap_write(regs, CCSR_SSI_SACCEN, 0x300); 594 - } 576 + regmap_write(regs, CCSR_SSI_SACCDIS, 0xff); 577 + regmap_write(regs, CCSR_SSI_SACCEN, 0x300); 595 578 596 579 /* 597 580 * Enable SSI, Transmit and Receive. AC97 has to communicate with the ··· 1397 1388 struct resource *res; 1398 1389 void __iomem *iomem; 1399 1390 char name[64]; 1400 - struct regmap_config regconfig = fsl_ssi_regconfig; 1401 1391 1402 1392 of_id = of_match_device(fsl_ssi_ids, &pdev->dev); 1403 1393 if (!of_id || !of_id->data) ··· 1444 1436 return PTR_ERR(iomem); 1445 1437 ssi_private->ssi_phys = res->start; 1446 1438 1447 - if (ssi_private->soc->imx21regs) { 1448 - /* 1449 - * According to datasheet imx21-class SSI 1450 - * don't have SACC{ST,EN,DIS} regs. 1451 - */ 1452 - regconfig.max_register = CCSR_SSI_SRMSK; 1453 - regconfig.num_reg_defaults_raw = 1454 - CCSR_SSI_SRMSK / sizeof(uint32_t) + 1; 1455 - } 1456 - 1457 1439 ret = of_property_match_string(np, "clock-names", "ipg"); 1458 1440 if (ret < 0) { 1459 1441 ssi_private->has_ipg_clk_name = false; 1460 1442 ssi_private->regs = devm_regmap_init_mmio(&pdev->dev, iomem, 1461 - &regconfig); 1443 + &fsl_ssi_regconfig); 1462 1444 } else { 1463 1445 ssi_private->has_ipg_clk_name = true; 1464 1446 ssi_private->regs = devm_regmap_init_mmio_clk(&pdev->dev, 1465 - "ipg", iomem, &regconfig); 1447 + "ipg", iomem, &fsl_ssi_regconfig); 1466 1448 } 1467 1449 if (IS_ERR(ssi_private->regs)) { 1468 1450 dev_err(&pdev->dev, "Failed to init register map\n");