Blame view
drivers/regulator/dummy.c
1.98 KB
2874c5fd2 treewide: Replace... |
1 |
// SPDX-License-Identifier: GPL-2.0-or-later |
34abbd68e regulator: Provid... |
2 3 4 5 6 7 8 |
/* * dummy.c * * Copyright 2010 Wolfson Microelectronics PLC. * * Author: Mark Brown <broonie@opensource.wolfsonmicro.com> * |
34abbd68e regulator: Provid... |
9 10 11 12 13 14 |
* This is useful for systems with mixed controllable and * non-controllable regulators, as well as for allowing testing on * systems with no controllable regulators. */ #include <linux/err.h> |
22be053ff regulator: Add ex... |
15 |
#include <linux/export.h> |
34abbd68e regulator: Provid... |
16 17 18 19 20 21 22 |
#include <linux/platform_device.h> #include <linux/regulator/driver.h> #include <linux/regulator/machine.h> #include "dummy.h" struct regulator_dev *dummy_regulator_rdev; |
087c09c2d regulator: dummy:... |
23 |
static const struct regulator_init_data dummy_initdata = { |
8669544a7 regulator: dummy:... |
24 25 26 27 |
.constraints = { .always_on = 1, }, }; |
34abbd68e regulator: Provid... |
28 |
|
087c09c2d regulator: dummy:... |
29 |
static const struct regulator_ops dummy_ops; |
34abbd68e regulator: Provid... |
30 |
|
e1326eff8 regulator: dummy:... |
31 |
static const struct regulator_desc dummy_desc = { |
215b8b055 regulator: make t... |
32 |
.name = "regulator-dummy", |
34abbd68e regulator: Provid... |
33 34 35 36 37 |
.id = -1, .type = REGULATOR_VOLTAGE, .owner = THIS_MODULE, .ops = &dummy_ops, }; |
a5023574d regulator: remove... |
38 |
static int dummy_regulator_probe(struct platform_device *pdev) |
c08957a2c regulator: Proper... |
39 |
{ |
c172708d3 regulator: core: ... |
40 |
struct regulator_config config = { }; |
c08957a2c regulator: Proper... |
41 |
int ret; |
0f82b6cf7 regulator: dummy:... |
42 |
config.dev = &pdev->dev; |
c172708d3 regulator: core: ... |
43 44 45 |
config.init_data = &dummy_initdata; dummy_regulator_rdev = regulator_register(&dummy_desc, &config); |
c08957a2c regulator: Proper... |
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
if (IS_ERR(dummy_regulator_rdev)) { ret = PTR_ERR(dummy_regulator_rdev); pr_err("Failed to register regulator: %d ", ret); return ret; } return 0; } static struct platform_driver dummy_regulator_driver = { .probe = dummy_regulator_probe, .driver = { .name = "reg-dummy", |
c08957a2c regulator: Proper... |
60 61 |
}, }; |
34abbd68e regulator: Provid... |
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
static struct platform_device *dummy_pdev; void __init regulator_dummy_init(void) { int ret; dummy_pdev = platform_device_alloc("reg-dummy", -1); if (!dummy_pdev) { pr_err("Failed to allocate dummy regulator device "); return; } ret = platform_device_add(dummy_pdev); if (ret != 0) { pr_err("Failed to register dummy regulator device: %d ", ret); platform_device_put(dummy_pdev); return; } |
c08957a2c regulator: Proper... |
82 83 84 85 |
ret = platform_driver_register(&dummy_regulator_driver); if (ret != 0) { pr_err("Failed to register dummy regulator driver: %d ", ret); |
34abbd68e regulator: Provid... |
86 |
platform_device_unregister(dummy_pdev); |
34abbd68e regulator: Provid... |
87 88 |
} } |