Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
sound
soc
codecs
ads117x.c
Go to the documentation of this file.
1
/*
2
* ads117x.c -- Driver for ads1174/8 ADC chips
3
*
4
* Copyright 2009 ShotSpotter Inc.
5
* Author: Graeme Gregory <
[email protected]
>
6
*
7
* This program is free software; you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License as published by the
9
* Free Software Foundation; either version 2 of the License, or (at your
10
* option) any later version.
11
*/
12
13
#include <linux/kernel.h>
14
#include <linux/slab.h>
15
#include <
linux/init.h
>
16
#include <linux/device.h>
17
#include <linux/module.h>
18
#include <
sound/core.h
>
19
#include <
sound/pcm.h
>
20
#include <
sound/initval.h
>
21
#include <
sound/soc.h
>
22
23
#define ADS117X_RATES (SNDRV_PCM_RATE_8000_48000)
24
#define ADS117X_FORMATS (SNDRV_PCM_FMTBIT_S16_LE)
25
26
static
struct
snd_soc_dai_driver
ads117x_dai = {
27
/* ADC */
28
.name =
"ads117x-hifi"
,
29
.capture = {
30
.stream_name =
"Capture"
,
31
.channels_min = 1,
32
.channels_max = 32,
33
.rates =
ADS117X_RATES
,
34
.formats =
ADS117X_FORMATS
,},
35
};
36
37
static
struct
snd_soc_codec_driver
soc_codec_dev_ads117x;
38
39
static
__devinit
int
ads117x_probe(
struct
platform_device
*pdev)
40
{
41
return
snd_soc_register_codec
(&pdev->
dev
,
42
&soc_codec_dev_ads117x, &ads117x_dai, 1);
43
}
44
45
static
int
__devexit
ads117x_remove(
struct
platform_device
*pdev)
46
{
47
snd_soc_unregister_codec
(&pdev->
dev
);
48
return
0;
49
}
50
51
static
struct
platform_driver
ads117x_codec_driver = {
52
.driver = {
53
.name =
"ads117x-codec"
,
54
.owner =
THIS_MODULE
,
55
},
56
57
.probe = ads117x_probe,
58
.remove =
__devexit_p
(ads117x_remove),
59
};
60
61
module_platform_driver
(ads117x_codec_driver);
62
63
MODULE_DESCRIPTION
(
"ASoC ads117x driver"
);
64
MODULE_AUTHOR
(
"Graeme Gregory"
);
65
MODULE_LICENSE
(
"GPL"
);
Generated on Thu Jan 10 2013 15:07:32 for Linux Kernel by
1.8.2