cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

pxa2xx-pcm.c (1264B)


      1// SPDX-License-Identifier: GPL-2.0-only
      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.
      8 */
      9
     10#include <linux/dma-mapping.h>
     11#include <linux/module.h>
     12#include <linux/dmaengine.h>
     13#include <linux/of.h>
     14
     15#include <sound/core.h>
     16#include <sound/soc.h>
     17#include <sound/pxa2xx-lib.h>
     18#include <sound/dmaengine_pcm.h>
     19
     20static const struct snd_soc_component_driver pxa2xx_soc_platform = {
     21	.pcm_construct	= pxa2xx_soc_pcm_new,
     22	.open		= pxa2xx_soc_pcm_open,
     23	.close		= pxa2xx_soc_pcm_close,
     24	.hw_params	= pxa2xx_soc_pcm_hw_params,
     25	.prepare	= pxa2xx_soc_pcm_prepare,
     26	.trigger	= pxa2xx_soc_pcm_trigger,
     27	.pointer	= pxa2xx_soc_pcm_pointer,
     28};
     29
     30static int pxa2xx_soc_platform_probe(struct platform_device *pdev)
     31{
     32	return devm_snd_soc_register_component(&pdev->dev, &pxa2xx_soc_platform,
     33					       NULL, 0);
     34}
     35
     36static struct platform_driver pxa_pcm_driver = {
     37	.driver = {
     38		.name = "pxa-pcm-audio",
     39	},
     40
     41	.probe = pxa2xx_soc_platform_probe,
     42};
     43
     44module_platform_driver(pxa_pcm_driver);
     45
     46MODULE_AUTHOR("Nicolas Pitre");
     47MODULE_DESCRIPTION("Intel PXA2xx PCM DMA module");
     48MODULE_LICENSE("GPL");
     49MODULE_ALIAS("platform:pxa-pcm-audio");