mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 14:41:39 +00:00
Sound fixes for 3.8-rc7
Just a couple of build regression fixes for ASoC fsl stuff. It doesn't look too trivial, but neither intrusive, so hopefully I can avoid your curse... -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQIcBAABAgAGBQJREpMVAAoJEGwxgFQ9KSmkv6kQALfUxqUWVb0RAYqd36Wp2SIx HqXw11vvDM6Wc91Prrj9a1q5J/M4RMZXfLqdgB4Zdt5q9Fyvrwi7hSO1lkGsEL1T hpAkBLxIGlnFr+RT60J7zBvca1RZfi6hebrSzJAfOi4u88LFcKgiGzm96CvbLAsg 3F4+hsKVrWOfNmwZNLD85oW+me66A2TWLhBsSyeoSY/S+b1HtLNGDszURjB1WpwE SF2AkjoWI9oQdS3juMt31Slt3XufHU2JBU/Jqhq/iyHiM70mI4gS/NuvMmG7kNKS 4+KdDFkB/wDfkL2wLHqvzlCzRw5QoHr1EhjzP4+BmIEyPiMEXe4ft4/mQFSVGMsi PFlzI44Oaq57dnEDbVrVYHZ7kBFxoqoLJb753uI5bL2hQvFfRRV3RdCJC3hPzzaX jjDK1jPyn4dDV6sVVkYpz3OXrwKhHFldJ9vvBwx2J6+XSp1TY7U9/UUO5OUTjPum RQNjtobYcRVtCJsFkb790N7uInT3oO0e6qiMNzRZtYnZfLXf8mFcM0Qu1N55/i64 ocH6bZTvkxrAakMvbn8c8iEuicz7i3AgVBclek/8stb1RRuAqjTzxbvZQmnYCV5S 0ESccRWKPw7bHPk7wyhXgTw7GMXSlsaC4WI9O7y2CK73BhQJOH1gpSAMrhpY9rOm 0keeiokI1/r0pk7R8WRN =zsuc -----END PGP SIGNATURE----- Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Just a couple of build regression fixes for ASoC fsl stuff. It doesn't look too trivial, but neither intrusive, so hopefully I can avoid your curse..." Hey, Takashi has a good track record, I think he gets a pass.. * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: fsl: fix snd-soc-imx-pcm module build Revert "ASoC: fsl: fix multiple definition of init_module"
This commit is contained in:
commit
6bacaa9dda
@ -108,13 +108,18 @@ if SND_IMX_SOC
|
|||||||
config SND_SOC_IMX_SSI
|
config SND_SOC_IMX_SSI
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
config SND_SOC_IMX_PCM_FIQ
|
config SND_SOC_IMX_PCM
|
||||||
tristate
|
tristate
|
||||||
|
|
||||||
|
config SND_SOC_IMX_PCM_FIQ
|
||||||
|
bool
|
||||||
select FIQ
|
select FIQ
|
||||||
|
select SND_SOC_IMX_PCM
|
||||||
|
|
||||||
config SND_SOC_IMX_PCM_DMA
|
config SND_SOC_IMX_PCM_DMA
|
||||||
tristate
|
bool
|
||||||
select SND_SOC_DMAENGINE_PCM
|
select SND_SOC_DMAENGINE_PCM
|
||||||
|
select SND_SOC_IMX_PCM
|
||||||
|
|
||||||
config SND_SOC_IMX_AUDMUX
|
config SND_SOC_IMX_AUDMUX
|
||||||
tristate
|
tristate
|
||||||
|
@ -41,10 +41,7 @@ endif
|
|||||||
obj-$(CONFIG_SND_SOC_IMX_SSI) += snd-soc-imx-ssi.o
|
obj-$(CONFIG_SND_SOC_IMX_SSI) += snd-soc-imx-ssi.o
|
||||||
obj-$(CONFIG_SND_SOC_IMX_AUDMUX) += snd-soc-imx-audmux.o
|
obj-$(CONFIG_SND_SOC_IMX_AUDMUX) += snd-soc-imx-audmux.o
|
||||||
|
|
||||||
obj-$(CONFIG_SND_SOC_IMX_PCM_FIQ) += snd-soc-imx-pcm-fiq.o
|
obj-$(CONFIG_SND_SOC_IMX_PCM) += snd-soc-imx-pcm.o
|
||||||
snd-soc-imx-pcm-fiq-y := imx-pcm-fiq.o imx-pcm.o
|
|
||||||
obj-$(CONFIG_SND_SOC_IMX_PCM_DMA) += snd-soc-imx-pcm-dma.o
|
|
||||||
snd-soc-imx-pcm-dma-y := imx-pcm-dma.o imx-pcm.o
|
|
||||||
|
|
||||||
# i.MX Machine Support
|
# i.MX Machine Support
|
||||||
snd-soc-eukrea-tlv320-objs := eukrea-tlv320.o
|
snd-soc-eukrea-tlv320-objs := eukrea-tlv320.o
|
||||||
|
@ -154,26 +154,7 @@ static struct snd_soc_platform_driver imx_soc_platform_mx2 = {
|
|||||||
.pcm_free = imx_pcm_free,
|
.pcm_free = imx_pcm_free,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int imx_soc_platform_probe(struct platform_device *pdev)
|
int imx_pcm_dma_init(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
|
return snd_soc_register_platform(&pdev->dev, &imx_soc_platform_mx2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int imx_soc_platform_remove(struct platform_device *pdev)
|
|
||||||
{
|
|
||||||
snd_soc_unregister_platform(&pdev->dev);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct platform_driver imx_pcm_driver = {
|
|
||||||
.driver = {
|
|
||||||
.name = "imx-pcm-audio",
|
|
||||||
.owner = THIS_MODULE,
|
|
||||||
},
|
|
||||||
.probe = imx_soc_platform_probe,
|
|
||||||
.remove = imx_soc_platform_remove,
|
|
||||||
};
|
|
||||||
|
|
||||||
module_platform_driver(imx_pcm_driver);
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
MODULE_ALIAS("platform:imx-pcm-audio");
|
|
||||||
|
@ -281,7 +281,7 @@ static struct snd_soc_platform_driver imx_soc_platform_fiq = {
|
|||||||
.pcm_free = imx_pcm_fiq_free,
|
.pcm_free = imx_pcm_fiq_free,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int imx_soc_platform_probe(struct platform_device *pdev)
|
int imx_pcm_fiq_init(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct imx_ssi *ssi = platform_get_drvdata(pdev);
|
struct imx_ssi *ssi = platform_get_drvdata(pdev);
|
||||||
int ret;
|
int ret;
|
||||||
@ -314,23 +314,3 @@ failed_register:
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int imx_soc_platform_remove(struct platform_device *pdev)
|
|
||||||
{
|
|
||||||
snd_soc_unregister_platform(&pdev->dev);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct platform_driver imx_pcm_driver = {
|
|
||||||
.driver = {
|
|
||||||
.name = "imx-fiq-pcm-audio",
|
|
||||||
.owner = THIS_MODULE,
|
|
||||||
},
|
|
||||||
|
|
||||||
.probe = imx_soc_platform_probe,
|
|
||||||
.remove = imx_soc_platform_remove,
|
|
||||||
};
|
|
||||||
|
|
||||||
module_platform_driver(imx_pcm_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
|
||||||
|
@ -31,6 +31,7 @@ int snd_imx_pcm_mmap(struct snd_pcm_substream *substream,
|
|||||||
runtime->dma_bytes);
|
runtime->dma_bytes);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(snd_imx_pcm_mmap);
|
||||||
|
|
||||||
static int imx_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
|
static int imx_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream)
|
||||||
{
|
{
|
||||||
@ -79,6 +80,7 @@ int imx_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
|||||||
out:
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(imx_pcm_new);
|
||||||
|
|
||||||
void imx_pcm_free(struct snd_pcm *pcm)
|
void imx_pcm_free(struct snd_pcm *pcm)
|
||||||
{
|
{
|
||||||
@ -100,6 +102,39 @@ void imx_pcm_free(struct snd_pcm *pcm)
|
|||||||
buf->area = NULL;
|
buf->area = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(imx_pcm_free);
|
||||||
|
|
||||||
|
static int imx_pcm_probe(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
if (strcmp(pdev->id_entry->name, "imx-fiq-pcm-audio") == 0)
|
||||||
|
return imx_pcm_fiq_init(pdev);
|
||||||
|
|
||||||
|
return imx_pcm_dma_init(pdev);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int imx_pcm_remove(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
snd_soc_unregister_platform(&pdev->dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct platform_device_id imx_pcm_devtype[] = {
|
||||||
|
{ .name = "imx-pcm-audio", },
|
||||||
|
{ .name = "imx-fiq-pcm-audio", },
|
||||||
|
{ /* sentinel */ }
|
||||||
|
};
|
||||||
|
MODULE_DEVICE_TABLE(platform, imx_pcm_devtype);
|
||||||
|
|
||||||
|
static struct platform_driver imx_pcm_driver = {
|
||||||
|
.driver = {
|
||||||
|
.name = "imx-pcm",
|
||||||
|
.owner = THIS_MODULE,
|
||||||
|
},
|
||||||
|
.id_table = imx_pcm_devtype,
|
||||||
|
.probe = imx_pcm_probe,
|
||||||
|
.remove = imx_pcm_remove,
|
||||||
|
};
|
||||||
|
module_platform_driver(imx_pcm_driver);
|
||||||
|
|
||||||
MODULE_DESCRIPTION("Freescale i.MX PCM driver");
|
MODULE_DESCRIPTION("Freescale i.MX PCM driver");
|
||||||
MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
|
MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
|
||||||
|
@ -30,4 +30,22 @@ int snd_imx_pcm_mmap(struct snd_pcm_substream *substream,
|
|||||||
int imx_pcm_new(struct snd_soc_pcm_runtime *rtd);
|
int imx_pcm_new(struct snd_soc_pcm_runtime *rtd);
|
||||||
void imx_pcm_free(struct snd_pcm *pcm);
|
void imx_pcm_free(struct snd_pcm *pcm);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SND_SOC_IMX_PCM_DMA
|
||||||
|
int imx_pcm_dma_init(struct platform_device *pdev);
|
||||||
|
#else
|
||||||
|
static inline int imx_pcm_dma_init(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_SND_SOC_IMX_PCM_FIQ
|
||||||
|
int imx_pcm_fiq_init(struct platform_device *pdev);
|
||||||
|
#else
|
||||||
|
static inline int imx_pcm_fiq_init(struct platform_device *pdev)
|
||||||
|
{
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _IMX_PCM_H */
|
#endif /* _IMX_PCM_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user