]>
Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | // SPDX-License-Identifier: GPL-2.0-only |
f11a96d5 LG |
2 | /* |
3 | * linux/sound/arm/pxa2xx-pcm.c -- ALSA PCM interface for the Intel PXA2xx chip | |
4 | * | |
5 | * Author: Nicolas Pitre | |
6 | * Created: Nov 30, 2004 | |
7 | * Copyright: (C) 2004 MontaVista Software, Inc. | |
f11a96d5 LG |
8 | */ |
9 | ||
f11a96d5 | 10 | #include <linux/dma-mapping.h> |
da155d5b | 11 | #include <linux/module.h> |
d65a1458 | 12 | #include <linux/dmaengine.h> |
c529ca4a | 13 | #include <linux/of.h> |
f11a96d5 | 14 | |
f11a96d5 | 15 | #include <sound/core.h> |
f11a96d5 | 16 | #include <sound/soc.h> |
a6d77317 | 17 | #include <sound/pxa2xx-lib.h> |
d65a1458 | 18 | #include <sound/dmaengine_pcm.h> |
f11a96d5 | 19 | |
0717e66f | 20 | static const struct snd_soc_component_driver pxa2xx_soc_platform = { |
f8772e17 | 21 | .pcm_construct = pxa2xx_soc_pcm_new, |
f8772e17 KM |
22 | .open = pxa2xx_soc_pcm_open, |
23 | .close = pxa2xx_soc_pcm_close, | |
f8772e17 | 24 | .hw_params = pxa2xx_soc_pcm_hw_params, |
f8772e17 KM |
25 | .prepare = pxa2xx_soc_pcm_prepare, |
26 | .trigger = pxa2xx_soc_pcm_trigger, | |
27 | .pointer = pxa2xx_soc_pcm_pointer, | |
f11a96d5 | 28 | }; |
f11a96d5 | 29 | |
570f6fe1 | 30 | static int pxa2xx_soc_platform_probe(struct platform_device *pdev) |
958e792c | 31 | { |
0717e66f KM |
32 | return devm_snd_soc_register_component(&pdev->dev, &pxa2xx_soc_platform, |
33 | NULL, 0); | |
f0fba2ad LG |
34 | } |
35 | ||
36 | static struct platform_driver pxa_pcm_driver = { | |
37 | .driver = { | |
c529ca4a | 38 | .name = "pxa-pcm-audio", |
f0fba2ad LG |
39 | }, |
40 | ||
41 | .probe = pxa2xx_soc_platform_probe, | |
f0fba2ad LG |
42 | }; |
43 | ||
2f702a19 | 44 | module_platform_driver(pxa_pcm_driver); |
958e792c | 45 | |
f11a96d5 LG |
46 | MODULE_AUTHOR("Nicolas Pitre"); |
47 | MODULE_DESCRIPTION("Intel PXA2xx PCM DMA module"); | |
48 | MODULE_LICENSE("GPL"); | |
e5b7d71a | 49 | MODULE_ALIAS("platform:pxa-pcm-audio"); |