Merge remote-tracking branches 'asoc/topic/ad1836', 'asoc/topic/ad193x', 'asoc/topic/adav80x', 'asoc/topic/adsp', 'asoc/topic/ak4641', 'asoc/topic/ak4642', 'asoc/topic/arizona', 'asoc/topic/atmel', 'asoc/topic/au1x', 'asoc/topic/axi', 'asoc/topic/bcm2835', 'asoc/topic/blackfin', 'asoc/topic/cs4271', 'asoc/topic/cs42l52', 'asoc/topic/da7210', 'asoc/topic/davinci', 'asoc/topic/ep93xx', 'asoc/topic/fsl', 'asoc/topic/fsl-mxs', 'asoc/topic/generic', 'asoc/topic/hdmi', 'asoc/topic/jack', 'asoc/topic/jz4740', 'asoc/topic/max98090', 'asoc/topic/mxs', 'asoc/topic/omap', 'asoc/topic/pxa', 'asoc/topic/rcar', 'asoc/topic/s6000', 'asoc/topic/sai', 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/spear', 'asoc/topic/ssm2518', 'asoc/topic/ssm2602', 'asoc/topic/tegra', 'asoc/topic/tlv320aic3x', 'asoc/topic/twl6040', 'asoc/topic/txx9', 'asoc/topic/uda1380', 'asoc/topic/width', 'asoc/topic/wm8510', 'asoc/topic/wm8523', 'asoc/topic/wm8580', 'asoc/topic/wm8711', 'asoc/topic/wm8728', 'asoc/topic/wm8731', 'asoc/topic/wm8741', 'asoc/topic/wm8750', 'asoc/topic/wm8753', 'asoc/topic/wm8776', 'asoc/topic/wm8804', 'asoc/topic/wm8900', 'asoc/topic/wm8901', 'asoc/topic/wm8940', 'asoc/topic/wm8962', 'asoc/topic/wm8974', 'asoc/topic/wm8985', 'asoc/topic/wm8988', 'asoc/topic/wm8990', 'asoc/topic/wm8991', 'asoc/topic/wm8994', 'asoc/topic/wm8995', 'asoc/topic/wm9081' and 'asoc/topic/x86' into asoc-next
Этот коммит содержится в:

родитель
7471c5c9f5
c097d5fdf3
74c375cb85
04c3a852f5
5095f55d7c
4f534777c1
2f54d2a1cf
56d37d8543
192043cf60
f467a0f513
bbe580302d
3990c516de
d754fa9ad1
516ea4b584
69ae848907
25c1a63f43
f52c919215
111bd7b18e
aafa85e71a
dd407a3243
71467e4641
0f7f3d1f17
8778ac6be2
0406a40a09
308a0f3f24
2650bc4f6d
8cb7a36eb3
323702b4e0
ef74940043
3cec159cfb
72aa62bed3
328089a471
11db0da831
e1771bcf99
f60e5473e6
a010ff628c
5e8154332f
58381da687
626bcacb89
38136bde76
06b2bd2305
8c5178fca4
8e6ad35a31
008ef947d0
f58c4fc4a3
2309d67579
5c1537163c
b65ab73e5d
26090a834b
9ea6fbc66d
2c4864334c
1769267bb0
f3f9a60f79
f25cf34969
3f3002692c
fbbf7fea8e
c3e8494c00
e40e0b5da8
50c9697320
6358711681
0112b62b12
a0a05916cf
b888edbc68
d44008b358
9a199b8e99
784cbf8ab4
Коммит
2cde51fbd0
@@ -56,16 +56,10 @@ static const struct snd_dmaengine_pcm_config mxs_dmaengine_pcm_config = {
|
||||
|
||||
int mxs_pcm_platform_register(struct device *dev)
|
||||
{
|
||||
return snd_dmaengine_pcm_register(dev, &mxs_dmaengine_pcm_config,
|
||||
return devm_snd_dmaengine_pcm_register(dev, &mxs_dmaengine_pcm_config,
|
||||
SND_DMAENGINE_PCM_FLAG_NO_RESIDUE |
|
||||
SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mxs_pcm_platform_register);
|
||||
|
||||
void mxs_pcm_platform_unregister(struct device *dev)
|
||||
{
|
||||
snd_dmaengine_pcm_unregister(dev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mxs_pcm_platform_unregister);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
@@ -20,6 +20,5 @@
|
||||
#define _MXS_PCM_H
|
||||
|
||||
int mxs_pcm_platform_register(struct device *dev);
|
||||
void mxs_pcm_platform_unregister(struct device *dev);
|
||||
|
||||
#endif
|
||||
|
@@ -50,9 +50,9 @@ static struct mxs_saif *mxs_saif[2];
|
||||
* This also means that both SAIFs must operate at the same sample rate.
|
||||
*
|
||||
* We abstract this as each saif has a master, the master could be
|
||||
* himself or other saifs. In the generic saif driver, saif does not need
|
||||
* to know the different clkmux. Saif only needs to know who is his master
|
||||
* and operating his master to generate the proper clock rate for him.
|
||||
* itself or other saifs. In the generic saif driver, saif does not need
|
||||
* to know the different clkmux. Saif only needs to know who is its master
|
||||
* and operating its master to generate the proper clock rate for it.
|
||||
* The master id is provided in mach-specific layer according to different
|
||||
* clkmux setting.
|
||||
*/
|
||||
@@ -76,7 +76,7 @@ static int mxs_saif_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
|
||||
* Since SAIF may work on EXTMASTER mode, IOW, it's working BITCLK&LRCLK
|
||||
* is provided by other SAIF, we provide a interface here to get its master
|
||||
* from its master_id.
|
||||
* Note that the master could be himself.
|
||||
* Note that the master could be itself.
|
||||
*/
|
||||
static inline struct mxs_saif *mxs_saif_get_master(struct mxs_saif * saif)
|
||||
{
|
||||
@@ -516,7 +516,7 @@ static int mxs_saif_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||
}
|
||||
|
||||
/*
|
||||
* If the saif's master is not himself, we also need to enable
|
||||
* If the saif's master is not itself, we also need to enable
|
||||
* itself clk for its internal basic logic to work.
|
||||
*/
|
||||
if (saif != master_saif) {
|
||||
@@ -804,13 +804,6 @@ static int mxs_saif_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mxs_saif_remove(struct platform_device *pdev)
|
||||
{
|
||||
mxs_pcm_platform_unregister(&pdev->dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct of_device_id mxs_saif_dt_ids[] = {
|
||||
{ .compatible = "fsl,imx28-saif", },
|
||||
{ /* sentinel */ }
|
||||
@@ -819,7 +812,6 @@ MODULE_DEVICE_TABLE(of, mxs_saif_dt_ids);
|
||||
|
||||
static struct platform_driver mxs_saif_driver = {
|
||||
.probe = mxs_saif_probe,
|
||||
.remove = mxs_saif_remove,
|
||||
|
||||
.driver = {
|
||||
.name = "mxs-saif",
|
||||
|
Ссылка в новой задаче
Block a user