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
drivers
misc
bmp085-spi.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012 Bosch Sensortec GmbH
3
* Copyright (c) 2012 Unixphere AB
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
*/
19
20
#include <linux/module.h>
21
#include <
linux/spi/spi.h
>
22
#include <
linux/err.h
>
23
#include "
bmp085.h
"
24
25
static
int
__devinit
bmp085_spi_probe(
struct
spi_device
*
client
)
26
{
27
int
err
;
28
struct
regmap
*
regmap
;
29
30
client->
bits_per_word
= 8;
31
err =
spi_setup
(client);
32
if
(err < 0) {
33
dev_err
(&client->
dev
,
"spi_setup failed!\n"
);
34
return
err
;
35
}
36
37
regmap =
devm_regmap_init_spi
(client, &
bmp085_regmap_config
);
38
if
(IS_ERR(regmap)) {
39
err = PTR_ERR(regmap);
40
dev_err
(&client->
dev
,
"Failed to init regmap: %d\n"
, err);
41
return
err
;
42
}
43
44
return
bmp085_probe
(&client->
dev
, regmap);
45
}
46
47
static
int
bmp085_spi_remove(
struct
spi_device
*client)
48
{
49
return
bmp085_remove
(&client->
dev
);
50
}
51
52
static
const
struct
of_device_id
bmp085_of_match[] = {
53
{ .compatible =
"bosch,bmp085"
, },
54
{ },
55
};
56
MODULE_DEVICE_TABLE
(of, bmp085_of_match);
57
58
static
const
struct
spi_device_id
bmp085_id[] = {
59
{
"bmp180"
, 0 },
60
{
"bmp181"
, 0 },
61
{ }
62
};
63
MODULE_DEVICE_TABLE
(
spi
, bmp085_id);
64
65
static
struct
spi_driver
bmp085_spi_driver = {
66
.driver = {
67
.owner =
THIS_MODULE
,
68
.name =
BMP085_NAME
,
69
.of_match_table = bmp085_of_match
70
},
71
.id_table = bmp085_id,
72
.probe = bmp085_spi_probe,
73
.remove =
__devexit_p
(bmp085_spi_remove)
74
};
75
76
module_spi_driver
(bmp085_spi_driver);
77
78
MODULE_AUTHOR
(
"Eric Andersson <
[email protected]
>"
);
79
MODULE_DESCRIPTION
(
"BMP085 SPI bus driver"
);
80
MODULE_LICENSE
(
"GPL"
);
Generated on Thu Jan 10 2013 13:54:37 for Linux Kernel by
1.8.2