Skip to content

Commit 7029923

Browse files
committed
Merge branches 'topic/dmic' and 'topic/qcom' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-msm8916
3 parents 8dbed90 + a46f1cf + 3bb2991 commit 7029923

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+1691
-137
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Device-Tree bindings for Digital microphone (DMIC) codec
2+
3+
This device support generic PDM digital microphone.
4+
5+
Required properties:
6+
- compatible: should be "dmic-codec".
7+
8+
Optional properties:
9+
- dmicen-gpios: GPIO specifier for dmic to control start and stop
10+
11+
Example node:
12+
13+
dmic_codec: dmic@0 {
14+
compatible = "dmic-codec";
15+
dmicen-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
16+
};
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
RT274 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "realtek,rt274".
8+
9+
- reg : The I2C address of the device.
10+
11+
Optional properties:
12+
13+
- interrupts : The CODEC's interrupt output.
14+
15+
16+
Pins on the device (for linking into audio routes) for RT274:
17+
18+
* DMIC1 Pin
19+
* DMIC2 Pin
20+
* MIC
21+
* LINE1
22+
* LINE2
23+
* HPO Pin
24+
* SPDIF
25+
* LINE3
26+
27+
Example:
28+
29+
codec: rt274@1c {
30+
compatible = "realtek,rt274";
31+
reg = <0x1c>;
32+
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
33+
};

sound/soc/codecs/88pm860x-codec.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1355,7 +1355,7 @@ static struct regmap *pm860x_get_regmap(struct device *dev)
13551355
return pm860x->regmap;
13561356
}
13571357

1358-
static struct snd_soc_codec_driver soc_codec_dev_pm860x = {
1358+
static const struct snd_soc_codec_driver soc_codec_dev_pm860x = {
13591359
.probe = pm860x_probe,
13601360
.remove = pm860x_remove,
13611361
.set_bias_level = pm860x_set_bias_level,

sound/soc/codecs/Kconfig

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ config SND_SOC_ALL_CODECS
7171
select SND_SOC_DA732X if I2C
7272
select SND_SOC_DA9055 if I2C
7373
select SND_SOC_DIO2125
74-
select SND_SOC_DMIC
74+
select SND_SOC_DMIC if GPIOLIB
7575
select SND_SOC_ES8316 if I2C
7676
select SND_SOC_ES8328_SPI if SPI_MASTER
7777
select SND_SOC_ES8328_I2C if I2C
@@ -114,6 +114,7 @@ config SND_SOC_ALL_CODECS
114114
select SND_SOC_PCM5102A
115115
select SND_SOC_PCM512x_I2C if I2C
116116
select SND_SOC_PCM512x_SPI if SPI_MASTER
117+
select SND_SOC_RT274 if I2C
117118
select SND_SOC_RT286 if I2C
118119
select SND_SOC_RT298 if I2C
119120
select SND_SOC_RT5514 if I2C
@@ -716,11 +717,17 @@ config SND_SOC_RL6231
716717

717718
config SND_SOC_RL6347A
718719
tristate
720+
default y if SND_SOC_RT274=y
719721
default y if SND_SOC_RT286=y
720722
default y if SND_SOC_RT298=y
723+
default m if SND_SOC_RT274=m
721724
default m if SND_SOC_RT286=m
722725
default m if SND_SOC_RT298=m
723726

727+
config SND_SOC_RT274
728+
tristate
729+
depends on I2C
730+
724731
config SND_SOC_RT286
725732
tristate
726733
depends on I2C

sound/soc/codecs/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
113113
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
114114
snd-soc-rl6231-objs := rl6231.o
115115
snd-soc-rl6347a-objs := rl6347a.o
116+
snd-soc-rt274-objs := rt274.o
116117
snd-soc-rt286-objs := rt286.o
117118
snd-soc-rt298-objs := rt298.o
118119
snd-soc-rt5514-objs := rt5514.o
@@ -349,6 +350,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
349350
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
350351
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
351352
obj-$(CONFIG_SND_SOC_RL6347A) += snd-soc-rl6347a.o
353+
obj-$(CONFIG_SND_SOC_RT274) += snd-soc-rt274.o
352354
obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o
353355
obj-$(CONFIG_SND_SOC_RT298) += snd-soc-rt298.o
354356
obj-$(CONFIG_SND_SOC_RT5514) += snd-soc-rt5514.o

sound/soc/codecs/ab8500-codec.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2523,7 +2523,7 @@ static int ab8500_codec_probe(struct snd_soc_codec *codec)
25232523
return status;
25242524
}
25252525

2526-
static struct snd_soc_codec_driver ab8500_codec_driver = {
2526+
static const struct snd_soc_codec_driver ab8500_codec_driver = {
25272527
.probe = ab8500_codec_probe,
25282528
.component_driver = {
25292529
.controls = ab8500_ctrls,

sound/soc/codecs/ac97.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ static int ac97_soc_resume(struct snd_soc_codec *codec)
112112
#define ac97_soc_resume NULL
113113
#endif
114114

115-
static struct snd_soc_codec_driver soc_codec_dev_ac97 = {
115+
static const struct snd_soc_codec_driver soc_codec_dev_ac97 = {
116116
.probe = ac97_soc_probe,
117117
.suspend = ac97_soc_suspend,
118118
.resume = ac97_soc_resume,

sound/soc/codecs/ad1836.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ static int ad1836_remove(struct snd_soc_codec *codec)
321321
AD1836_ADC_SERFMT_MASK, 0);
322322
}
323323

324-
static struct snd_soc_codec_driver soc_codec_dev_ad1836 = {
324+
static const struct snd_soc_codec_driver soc_codec_dev_ad1836 = {
325325
.probe = ad1836_probe,
326326
.remove = ad1836_remove,
327327
.suspend = ad1836_suspend,

sound/soc/codecs/ad193x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ static int ad193x_codec_probe(struct snd_soc_codec *codec)
408408
return 0;
409409
}
410410

411-
static struct snd_soc_codec_driver soc_codec_dev_ad193x = {
411+
static const struct snd_soc_codec_driver soc_codec_dev_ad193x = {
412412
.probe = ad193x_codec_probe,
413413
.component_driver = {
414414
.controls = ad193x_snd_controls,

sound/soc/codecs/ad1980.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ static int ad1980_soc_remove(struct snd_soc_codec *codec)
295295
return 0;
296296
}
297297

298-
static struct snd_soc_codec_driver soc_codec_dev_ad1980 = {
298+
static const struct snd_soc_codec_driver soc_codec_dev_ad1980 = {
299299
.probe = ad1980_soc_probe,
300300
.remove = ad1980_soc_remove,
301301

sound/soc/codecs/ad73311.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static struct snd_soc_dai_driver ad73311_dai = {
5454
.formats = SNDRV_PCM_FMTBIT_S16_LE, },
5555
};
5656

57-
static struct snd_soc_codec_driver soc_codec_dev_ad73311 = {
57+
static const struct snd_soc_codec_driver soc_codec_dev_ad73311 = {
5858
.component_driver = {
5959
.dapm_widgets = ad73311_dapm_widgets,
6060
.num_dapm_widgets = ARRAY_SIZE(ad73311_dapm_widgets),

sound/soc/codecs/adau1373.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1458,7 +1458,7 @@ static const struct regmap_config adau1373_regmap_config = {
14581458
.num_reg_defaults = ARRAY_SIZE(adau1373_reg_defaults),
14591459
};
14601460

1461-
static struct snd_soc_codec_driver adau1373_codec_driver = {
1461+
static const struct snd_soc_codec_driver adau1373_codec_driver = {
14621462
.probe = adau1373_probe,
14631463
.resume = adau1373_resume,
14641464
.set_bias_level = adau1373_set_bias_level,

sound/soc/codecs/adau1701.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -757,7 +757,7 @@ static int adau1701_resume(struct snd_soc_codec *codec)
757757
#define adau1701_suspend NULL
758758
#endif /* CONFIG_PM */
759759

760-
static struct snd_soc_codec_driver adau1701_codec_drv = {
760+
static const struct snd_soc_codec_driver adau1701_codec_drv = {
761761
.probe = adau1701_probe,
762762
.remove = adau1701_remove,
763763
.resume = adau1701_resume,

sound/soc/codecs/adau1977.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,7 @@ static int adau1977_codec_probe(struct snd_soc_codec *codec)
867867
return 0;
868868
}
869869

870-
static struct snd_soc_codec_driver adau1977_codec_driver = {
870+
static const struct snd_soc_codec_driver adau1977_codec_driver = {
871871
.probe = adau1977_codec_probe,
872872
.set_bias_level = adau1977_set_bias_level,
873873
.set_sysclk = adau1977_set_sysclk,

sound/soc/codecs/adav80x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ static int adav80x_resume(struct snd_soc_codec *codec)
825825
return 0;
826826
}
827827

828-
static struct snd_soc_codec_driver adav80x_codec_driver = {
828+
static const struct snd_soc_codec_driver adav80x_codec_driver = {
829829
.probe = adav80x_probe,
830830
.resume = adav80x_resume,
831831
.set_bias_level = adav80x_set_bias_level,

sound/soc/codecs/ads117x.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static struct snd_soc_dai_driver ads117x_dai = {
5858
.formats = ADS117X_FORMATS,},
5959
};
6060

61-
static struct snd_soc_codec_driver soc_codec_dev_ads117x = {
61+
static const struct snd_soc_codec_driver soc_codec_dev_ads117x = {
6262
.component_driver = {
6363
.dapm_widgets = ads117x_dapm_widgets,
6464
.num_dapm_widgets = ARRAY_SIZE(ads117x_dapm_widgets),

sound/soc/codecs/ak4104.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ static int ak4104_soc_resume(struct snd_soc_codec *codec)
242242
#define ak4104_soc_resume NULL
243243
#endif /* CONFIG_PM */
244244

245-
static struct snd_soc_codec_driver soc_codec_device_ak4104 = {
245+
static const struct snd_soc_codec_driver soc_codec_device_ak4104 = {
246246
.probe = ak4104_probe,
247247
.remove = ak4104_remove,
248248
.suspend = ak4104_soc_suspend,

sound/soc/codecs/ak4535.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ static const struct regmap_config ak4535_regmap = {
390390
.num_reg_defaults = ARRAY_SIZE(ak4535_reg_defaults),
391391
};
392392

393-
static struct snd_soc_codec_driver soc_codec_dev_ak4535 = {
393+
static const struct snd_soc_codec_driver soc_codec_dev_ak4535 = {
394394
.resume = ak4535_resume,
395395
.set_bias_level = ak4535_set_bias_level,
396396
.suspend_bias_off = true,

sound/soc/codecs/ak4554.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ static struct snd_soc_dai_driver ak4554_dai = {
6464
.symmetric_rates = 1,
6565
};
6666

67-
static struct snd_soc_codec_driver soc_codec_dev_ak4554 = {
67+
static const struct snd_soc_codec_driver soc_codec_dev_ak4554 = {
6868
.component_driver = {
6969
.dapm_widgets = ak4554_dapm_widgets,
7070
.num_dapm_widgets = ARRAY_SIZE(ak4554_dapm_widgets),

sound/soc/codecs/ak4613.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ static int ak4613_resume(struct snd_soc_codec *codec)
522522
return regcache_sync(regmap);
523523
}
524524

525-
static struct snd_soc_codec_driver soc_codec_dev_ak4613 = {
525+
static const struct snd_soc_codec_driver soc_codec_dev_ak4613 = {
526526
.suspend = ak4613_suspend,
527527
.resume = ak4613_resume,
528528
.set_bias_level = ak4613_set_bias_level,

sound/soc/codecs/ak4641.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ static struct snd_soc_dai_driver ak4641_dai[] = {
524524
},
525525
};
526526

527-
static struct snd_soc_codec_driver soc_codec_dev_ak4641 = {
527+
static const struct snd_soc_codec_driver soc_codec_dev_ak4641 = {
528528
.component_driver = {
529529
.controls = ak4641_snd_controls,
530530
.num_controls = ARRAY_SIZE(ak4641_snd_controls),

sound/soc/codecs/ak4642.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ static int ak4642_probe(struct snd_soc_codec *codec)
550550
return 0;
551551
}
552552

553-
static struct snd_soc_codec_driver soc_codec_dev_ak4642 = {
553+
static const struct snd_soc_codec_driver soc_codec_dev_ak4642 = {
554554
.probe = ak4642_probe,
555555
.suspend = ak4642_suspend,
556556
.resume = ak4642_resume,

sound/soc/codecs/ak4671.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ static struct snd_soc_dai_driver ak4671_dai = {
610610
.ops = &ak4671_dai_ops,
611611
};
612612

613-
static struct snd_soc_codec_driver soc_codec_dev_ak4671 = {
613+
static const struct snd_soc_codec_driver soc_codec_dev_ak4671 = {
614614
.set_bias_level = ak4671_set_bias_level,
615615
.component_driver = {
616616
.controls = ak4671_snd_controls,

sound/soc/codecs/ak5386.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ static int ak5386_soc_resume(struct snd_soc_codec *codec)
6969
#define ak5386_soc_resume NULL
7070
#endif /* CONFIG_PM */
7171

72-
static struct snd_soc_codec_driver soc_codec_ak5386 = {
72+
static const struct snd_soc_codec_driver soc_codec_ak5386 = {
7373
.probe = ak5386_soc_probe,
7474
.remove = ak5386_soc_remove,
7575
.suspend = ak5386_soc_suspend,

sound/soc/codecs/alc5623.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,7 @@ static int alc5623_probe(struct snd_soc_codec *codec)
951951
return 0;
952952
}
953953

954-
static struct snd_soc_codec_driver soc_codec_device_alc5623 = {
954+
static const struct snd_soc_codec_driver soc_codec_device_alc5623 = {
955955
.probe = alc5623_probe,
956956
.suspend = alc5623_suspend,
957957
.resume = alc5623_resume,

sound/soc/codecs/bt-sco.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ static struct snd_soc_dai_driver bt_sco_dai[] = {
6262
}
6363
};
6464

65-
static struct snd_soc_codec_driver soc_codec_dev_bt_sco = {
65+
static const struct snd_soc_codec_driver soc_codec_dev_bt_sco = {
6666
.component_driver = {
6767
.dapm_widgets = bt_sco_widgets,
6868
.num_dapm_widgets = ARRAY_SIZE(bt_sco_widgets),

sound/soc/codecs/cq93vc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ static struct regmap *cq93vc_get_regmap(struct device *dev)
128128
return davinci_vc->regmap;
129129
}
130130

131-
static struct snd_soc_codec_driver soc_codec_dev_cq93vc = {
131+
static const struct snd_soc_codec_driver soc_codec_dev_cq93vc = {
132132
.set_bias_level = cq93vc_set_bias_level,
133133
.get_regmap = cq93vc_get_regmap,
134134
.component_driver = {

sound/soc/codecs/cs35l33.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,7 @@ static int cs35l33_probe(struct snd_soc_codec *codec)
831831
return 0;
832832
}
833833

834-
static struct snd_soc_codec_driver soc_codec_dev_cs35l33 = {
834+
static const struct snd_soc_codec_driver soc_codec_dev_cs35l33 = {
835835
.probe = cs35l33_probe,
836836

837837
.set_bias_level = cs35l33_set_bias_level,

sound/soc/codecs/cs35l34.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ static int cs35l34_probe(struct snd_soc_codec *codec)
779779
}
780780

781781

782-
static struct snd_soc_codec_driver soc_codec_dev_cs35l34 = {
782+
static const struct snd_soc_codec_driver soc_codec_dev_cs35l34 = {
783783
.probe = cs35l34_probe,
784784

785785
.component_driver = {

sound/soc/codecs/cs35l35.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1079,7 +1079,7 @@ static int cs35l35_codec_probe(struct snd_soc_codec *codec)
10791079
return 0;
10801080
}
10811081

1082-
static struct snd_soc_codec_driver soc_codec_dev_cs35l35 = {
1082+
static const struct snd_soc_codec_driver soc_codec_dev_cs35l35 = {
10831083
.probe = cs35l35_codec_probe,
10841084
.set_sysclk = cs35l35_codec_set_sysclk,
10851085
.component_driver = {

sound/soc/codecs/cs4271.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ static int cs4271_codec_remove(struct snd_soc_codec *codec)
639639
return 0;
640640
};
641641

642-
static struct snd_soc_codec_driver soc_codec_dev_cs4271 = {
642+
static const struct snd_soc_codec_driver soc_codec_dev_cs4271 = {
643643
.probe = cs4271_codec_probe,
644644
.remove = cs4271_codec_remove,
645645
.suspend = cs4271_soc_suspend,

sound/soc/codecs/cs42l51.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ static int cs42l51_codec_probe(struct snd_soc_codec *codec)
504504
return 0;
505505
}
506506

507-
static struct snd_soc_codec_driver soc_codec_device_cs42l51 = {
507+
static const struct snd_soc_codec_driver soc_codec_device_cs42l51 = {
508508
.probe = cs42l51_codec_probe,
509509

510510
.component_driver = {

sound/soc/codecs/cs4349.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ static struct snd_soc_dai_driver cs4349_dai = {
255255
.symmetric_rates = 1,
256256
};
257257

258-
static struct snd_soc_codec_driver soc_codec_dev_cs4349 = {
258+
static const struct snd_soc_codec_driver soc_codec_dev_cs4349 = {
259259
.component_driver = {
260260
.controls = cs4349_snd_controls,
261261
.num_controls = ARRAY_SIZE(cs4349_snd_controls),

sound/soc/codecs/cs47l24.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,7 +1183,7 @@ static struct regmap *cs47l24_get_regmap(struct device *dev)
11831183
return priv->core.arizona->regmap;
11841184
}
11851185

1186-
static struct snd_soc_codec_driver soc_codec_dev_cs47l24 = {
1186+
static const struct snd_soc_codec_driver soc_codec_dev_cs47l24 = {
11871187
.probe = cs47l24_codec_probe,
11881188
.remove = cs47l24_codec_remove,
11891189
.get_regmap = cs47l24_get_regmap,
@@ -1213,7 +1213,7 @@ static struct snd_compr_ops cs47l24_compr_ops = {
12131213
.copy = wm_adsp_compr_copy,
12141214
};
12151215

1216-
static struct snd_soc_platform_driver cs47l24_compr_platform = {
1216+
static const struct snd_soc_platform_driver cs47l24_compr_platform = {
12171217
.compr_ops = &cs47l24_compr_ops,
12181218
};
12191219

sound/soc/codecs/cs53l30.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ static int cs53l30_codec_probe(struct snd_soc_codec *codec)
892892
return 0;
893893
}
894894

895-
static struct snd_soc_codec_driver cs53l30_driver = {
895+
static const struct snd_soc_codec_driver cs53l30_driver = {
896896
.probe = cs53l30_codec_probe,
897897
.set_bias_level = cs53l30_set_bias_level,
898898
.idle_bias_off = true,

sound/soc/codecs/cx20442.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec)
398398

399399
static const u8 cx20442_reg;
400400

401-
static struct snd_soc_codec_driver cx20442_codec_dev = {
401+
static const struct snd_soc_codec_driver cx20442_codec_dev = {
402402
.probe = cx20442_codec_probe,
403403
.remove = cx20442_codec_remove,
404404
.set_bias_level = cx20442_set_bias_level,

0 commit comments

Comments
 (0)