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
regulator
dummy.c
Go to the documentation of this file.
1
/*
2
* dummy.c
3
*
4
* Copyright 2010 Wolfson Microelectronics PLC.
5
*
6
* Author: Mark Brown <
[email protected]
>
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License as
10
* published by the Free Software Foundation; either version 2 of the
11
* License, or (at your option) any later version.
12
*
13
* This is useful for systems with mixed controllable and
14
* non-controllable regulators, as well as for allowing testing on
15
* systems with no controllable regulators.
16
*/
17
18
#include <
linux/err.h
>
19
#include <linux/export.h>
20
#include <
linux/platform_device.h
>
21
#include <
linux/regulator/driver.h
>
22
#include <
linux/regulator/machine.h
>
23
24
#include "
dummy.h
"
25
26
struct
regulator_dev
*
dummy_regulator_rdev
;
27
28
static
struct
regulator_init_data
dummy_initdata;
29
30
static
struct
regulator_ops
dummy_ops;
31
32
static
struct
regulator_desc
dummy_desc = {
33
.name =
"regulator-dummy"
,
34
.id = -1,
35
.type =
REGULATOR_VOLTAGE
,
36
.owner =
THIS_MODULE
,
37
.ops = &dummy_ops,
38
};
39
40
static
int
__devinit
dummy_regulator_probe(
struct
platform_device
*pdev)
41
{
42
struct
regulator_config
config
= { };
43
int
ret
;
44
45
config.
dev
= &pdev->
dev
;
46
config.
init_data
= &dummy_initdata;
47
48
dummy_regulator_rdev =
regulator_register
(&dummy_desc, &config);
49
if
(IS_ERR(dummy_regulator_rdev)) {
50
ret = PTR_ERR(dummy_regulator_rdev);
51
pr_err
(
"Failed to register regulator: %d\n"
, ret);
52
return
ret
;
53
}
54
55
return
0;
56
}
57
58
static
struct
platform_driver
dummy_regulator_driver = {
59
.probe = dummy_regulator_probe,
60
.driver = {
61
.name =
"reg-dummy"
,
62
.owner =
THIS_MODULE
,
63
},
64
};
65
66
static
struct
platform_device
*dummy_pdev;
67
68
void
__init
regulator_dummy_init
(
void
)
69
{
70
int
ret
;
71
72
dummy_pdev =
platform_device_alloc
(
"reg-dummy"
, -1);
73
if
(!dummy_pdev) {
74
pr_err
(
"Failed to allocate dummy regulator device\n"
);
75
return
;
76
}
77
78
ret =
platform_device_add
(dummy_pdev);
79
if
(ret != 0) {
80
pr_err
(
"Failed to register dummy regulator device: %d\n"
, ret);
81
platform_device_put
(dummy_pdev);
82
return
;
83
}
84
85
ret =
platform_driver_register
(&dummy_regulator_driver);
86
if
(ret != 0) {
87
pr_err
(
"Failed to register dummy regulator driver: %d\n"
, ret);
88
platform_device_unregister
(dummy_pdev);
89
}
90
}
Generated on Thu Jan 10 2013 13:09:01 for Linux Kernel by
1.8.2